On Mon, 10 Feb 2025 at 11:21, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > > On Thu, Feb 06, 2025 at 02:54:19AM -0800, Kumar Kartikeya Dwivedi wrote: > > +#define RES_NR_HELD 32 > > + > > +struct rqspinlock_held { > > + int cnt; > > + void *locks[RES_NR_HELD]; > > +}; > > That cnt field makes the whole thing overflow a cacheline boundary. > Making it 31 makes it fit again. Makes sense, I can make RES_NR_HELD 31, it doesn't matter too much. That's one less cacheline to pull into the local CPU during remote CPU reads.