Re: Percpu data in a vsyscall page

From: Rusty Russell
Date: Wed Nov 02 2005 - 20:51:18 EST


On Wed, 2005-11-02 at 11:54 +0100, Vojtech Pavlik wrote:
> Hi!
>
> I'm working on a RDTSCP support on x86-64, and for that, I'll need
> per-cpu time offset table in a vsyscall page. I saw the percpu.h header,
> and thought - "Hey, I could use that!", but I think I really can't.
>
> The data need to be in a vsyscall page, which is mapped to userspace via
> linker magic, and the percpu stuff uses a different mapping.

Yes. The percpu stuff uses a single add to find the local value of a
variable. This per-cpu offset can be kept in a register (I think
Sparc64 already does this) making it v. fast.

You're going to have to stick with an array I think.

Sorry,
Rusty.
--
A bad analogy is like a leaky screwdriver -- Richard Braakman

-
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/