Re: [RFC 00/15] x86_64: Optimize percpu accesses

From: Jeremy Fitzhardinge
Date: Wed Jul 09 2008 - 14:23:28 EST


Mike Travis wrote:
Jeremy Fitzhardinge wrote:
...
Once the pda has shrunk as much as it can (which remove everything
except stack_canary, I think), then remove all the X_pda macros, since
there won't be any users anyway.

J

You bring up a good point here. Since the stack_canary has to be 20
(or is that 0x20?) bytes from %gs, then it sounds like we'll still
need a pda struct of some sort. And zero padding before that seems
counter-productive, so perhaps taking a poll of the most used pda
(or percpu) variables and keeping them in the same cache line would
be more useful?

The offset is 40 (decimal). I don't see any particular problem with putting zero padding in there; we can get rid of it if CONFIG_STACK_PROTECTOR is off.

The trouble with reusing the space is that it's going to be things like "current" which are the best candidates for going there - but if you do that you lose i386 unification (unless you play some tricks where you arrange to make the percpu variables land there while still appearing to be normal percpu vars).

J
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/