Re: [RFC, patch] i386: vgetcpu(), take 2

From: Rohit Seth
Date: Wed Jun 21 2006 - 19:18:06 EST


On Thu, 2006-06-22 at 01:05 +0200, Andi Kleen wrote:
> On Thursday 22 June 2006 00:59, Rohit Seth wrote:

> > I was thinking of storing it is base address part of the descriptor and
> > then using the memory load to read it in vsyscall. (Keeping the p bit
> > to zero in the descriptor).
>
> I'm still not sure where and for what you want to use this. In user space
> or in kernel space? And what information should be stored in there?
>

Store the kernel virtual pointer in gdt to access pda in (proposed)
vgetcpu in vsyscall. Using this pointer we can easily reach the cpu and
node numbers and any other information that is there in pda. For the
cpu and node numbers this will get rid of the need to do a serializing
operation cpuid.

Does it make any sense?


> > Besides, not having to use the tcache part in the proposed system call
> > seems to just make the interface cleaner.
>
> tcache is still far faster than LSL (which is slower than RDTSCP)

Since we are not using the limits part of the descriptor so lsl will not
be needed. Though an indirect load from gdt page will be made.

-rohit

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/