On Fri, Feb 05 2021 at 14:53, Peter Zijlstra wrote: > On Thu, Feb 04, 2021 at 09:49:06PM +0100, Thomas Gleixner wrote: >> Move the definition >> next to the inuse flag so they end up in the same cache line. > >> -DEFINE_PER_CPU(struct irq_stack *, hardirq_stack_ptr); >> +DEFINE_PER_CPU(void *, hardirq_stack_ptr); >> DEFINE_PER_CPU(bool, hardirq_stack_inuse); > > Not strictly guaranteed they end up in the same line. If you stick them > in a struct and force alignment on the instance you'll have better > guarantees.
You're right. There are a bunch of per cpu variables which are randomly defined all over the place which should stay in the same cache line.