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

2007-11-19 Thread David Miller
From: Andi Kleen <[EMAIL PROTECTED]> Date: Tue, 20 Nov 2007 04:25:34 +0100 > > > 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(); > > n

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

2007-11-19 Thread Christoph Lameter
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(); > >

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

2007-11-19 Thread Andi Kleen
> 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

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

2007-11-19 Thread Christoph Lameter
On Mon, 19 Nov 2007, David Miller wrote: > From: Christoph Lameter <[EMAIL PROTECTED]> > Date: Mon, 19 Nov 2007 17:59:33 -0800 (PST) > > > In that case the generic fallbacks can just provide what you already > > have. > > I understand, I was just letting you know why we probably won't > take adv

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

2007-11-19 Thread David Miller
From: Christoph Lameter <[EMAIL PROTECTED]> Date: Mon, 19 Nov 2007 17:59:33 -0800 (PST) > In that case the generic fallbacks can just provide what you already > have. I understand, I was just letting you know why we probably won't take advantage of this new stuff :-) - To unsubscribe from this li

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

2007-11-19 Thread Christoph Lameter
On Mon, 19 Nov 2007, David Miller 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_i

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

2007-11-19 Thread David Miller
From: [EMAIL PROTECTED] Date: Mon, 19 Nov 2007 17:11:32 -0800 > Before: > > mov%gs:0x8,%rdx Get smp_processor_id > movtableoffset,%rax Get table base > incq varoffset(%rax,%rdx,1) Perform the operation with a complex lookup > adding

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

2007-11-19 Thread Christoph Lameter
Duh a patch did not make it due to XXX in the header. I will put this also on git.kernel.org slab tree branch cpudata x86_64: Strip down PDA operations through the use of CPU_XXX operations. The *_pda operations behave in the same way as the CPU_XX ops. They both access data that is relative

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

2007-11-19 Thread clameter
This is a pretty early draft stage of the patch. It works on x86_64 only. Its a bit massive so I'd like to have some feedback before proceeding (and maybe some help)?. The support for other arches was not tested yet. The patch establishes a new set of cpu operations that allow to exploit single i