On Sun, Dec 02, 2007 at 11:43:18PM +0000, Joseph S. Myers wrote: > On Sun, 2 Dec 2007, Brad Boyer wrote: > > I also tried to look for the ARM magic page implementation, but I > > couldn't find it. Any pointers to where I should be looking? I've > > never done any work on ARM other than looking at some of the chip > > documentation and some decidedly non-Linux implementations. > > arch/arm/kernel/entry-armv.S, starting
I guess you weren't kidding about the "magic page" name. That's a hideous hack, although I guess some of the older ARM systems are pretty limited. I can definitely see why you don't want to do something like that for any other architecture. One thing noteworthy is the whole thing of storing the thread pointer in a particular place in the page for quick read-only access. There also appears to be a system call to set the current thread pointer for a task. I noticed that the actual value stored in the magic page area is actually managed as part of the main context switch code. The value is actually stored into the page during the architecture specific task switch code, which does save having different memory per thread. However, it would be much more difficult to do that sort of thing in a page tied to a vDSO. I'll definitely take another look at your design keeping this in mind. Brad Boyer [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]