Re: [PATCH 0/5] x86/percpu semantics and fixes

From: Peter Zijlstra
Date: Fri Mar 08 2019 - 15:56:51 EST


On Fri, Mar 08, 2019 at 07:35:17PM +0000, Nadav Amit wrote:

> Nice script! I keep asking myself how comparing two binaries can provide
> some ânumberâ to indicate how âgoodâ the binary is (at least relatively to
> another one) - either during compilation or after. Code size, as you show,
> is the wrong metric.

Right; I'm still pondering other metrics, like:

readelf -WS | grep AX | grep -v -e init -e exit -e altinstr -e unlikely -e fixup

which is only 'fast' path text.

> Anyhow, I am a little disappointed (and surprised) that in most cases that I
> played with, this kind of optimizations have marginal impact on performance
> at best, even when the binary changes âa lotâ and when microbenchmarks are
> used.

Right, but if we don't care, it'll be death by 1000 cuts.

Anyway, can anybody explain percpu_stable_op() vs percpu_from_op() ?

I'm thinking of a variant of Linus' patch, but I'm confused about the
above.