Re: [rfc 00/45] [RFC] CPU ops and a rework of per cpu data handling on x86_64

Christoph Lameter
2007-11-20T03:33:34Z

n Tue, 20 Nov 2007, Andi Kleen wrote:

>
> > Although we have a per-cpu area base in a fixed global register
> > for addressing, the above isn't beneficial on sparc64 because
> > the atomic is much slower than doing a:
> >
> > local_irq_disable();
> > nonatomic_percpu_memory_op();
> > local_irq_enable();
>
> Again might be pointing out the obvious, but you
> need of course save_flags()/restore_flags(), not disable/enable().
>
> If it was just disable/enable x86 could do it much faster too
> and Christoph probably would never felt the need to approach
> this project for his SLUB fast path.

I already have no need for that anymore with the material now in Andrews
tree. However, this cuts out another 6 cycles from the fastpath and I
found that the same principles reduce overhead all over the kernel.