On Wed, 14 Jun 2017, Joonsoo Kim wrote: > > - Some of this code is redundant and can probably be combined. > > - The fast path is very sensitive and it was suggested I leave it alone. The > > approach I took means the fastpath cmpxchg always fails before trying the > > alternate cmpxchg. From some of my profiling, the cmpxchg seemed to be > > fairly > > expensive. > > It looks better to modify the fastpath for non-debuging poisoning. If > we use the jump label, it doesn't cause any overhead to the fastpath > for the user who doesn't use this feature. It really makes thing > simpler. Only a few more lines will be needed in the fastpath. > > Christoph, any opinion?
Just looked through it. Sorry was on vacation in Europe for awhile. The duplication in kmem_cache_cpu is not good performance wise. Maybe just keep the single per cpu partial list and depending on a kmem_cache flag change the locking semantics in order to allow for faster debugging?

