Messages in this thread | | | Subject | Re: Percpu data in a vsyscall page | From | Rusty Russell <> | Date | Thu, 03 Nov 2005 12:51:11 +1100 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |