Messages in this thread | | | Date | Fri, 30 May 2014 08:52:21 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [RFC 2/2] x86_64: expand kernel stack to 16K |
| |
On 05/30/2014 08:41 AM, Linus Torvalds wrote: > On Fri, May 30, 2014 at 8:25 AM, H. Peter Anvin <hpa@zytor.com> wrote: >> >> If we removed struct thread_info from the stack allocation then one >> could do a guard page below the stack. Of course, we'd have to use IST >> for #PF in that case, which makes it a non-production option. > > We could just have the guard page in between the stack and the > thread_info, take a double fault, and then just map it back in on > double fault. >
Oh, duh. Right, much better. Similar to the espfix64 hack, too.
> That would give us 8kB of "normal" stack, with a very loud fault - and > then an extra 7kB or so of stack (whatever the size of thread-info is) > - after the first time it traps. > > That said, it's still likely a non-production option due to the page > table games we'd have to play at fork/clone time.
Still, seems much more tractable.
I would still like struct thread_info off the stack allocation for other reasons (as we have discussed in the past.)
-hpa
| |