Messages in this thread | | | From | Andy Lutomirski <> | Date | Fri, 2 May 2014 14:04:30 -0700 | Subject | Re: [RFC/HACK] x86: Fast return to kernel |
| |
On Fri, May 2, 2014 at 2:01 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Fri, May 2, 2014 at 1:30 PM, Thomas Gleixner <tglx@linutronix.de> wrote: >> >> So what about manipulating the stack so that the popf does not enable >> interrupts and do an explicit sti to get the benefit of the >> one-instruction shadow ? > > That's what I already suggested in the original "I don't think popf > works" email. > > It does get more complex since you now have to test things (there are > very much cases where we get page faults and other exceptions with > interrupts disabled), but it shouldn't be much worse. > > Btw, Andy, why did you do "popq %rsp"? That just looks crazy. If the > stack isn't contiguous, the subsequent "popf" couldn't have worked > anyway. And I bet it screws with the stack engine. So you should just > have done something like "addq $16,%rsp" or whatever the constant ends > up being.
Because otherwise I'd have to keep track of whether it's a zeroentry or an errorentry. I can't stuff the offset in a register without even more stack hackery, since there are no available registers there. I could split the whole thing into two code paths, I guess.
--Andy
| |