Re: [PATCH v2 3/3] x86/pti/64: Remove the SYSCALL64 entry trampoline
From: Linus Torvalds
Date: Fri Sep 07 2018 - 20:10:11 EST
On Fri, Sep 7, 2018 at 12:54 PM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> > - We execute from an extra page and read from another extra page
> > during the syscall. (The latter is because we need to use a relative
> > addressing mode to find sp1 -- it's the same *cacheline* we'd use
> > anyway, but we're accessing it using an alias, so it's an extra TLB
> > entry.)
>
> Ok, but is this really an issue with PTI?
I'd expect it to be *more* of an issue with PTI, since you're already
wasting TLB entries due to the whole "two different page tables".
Sure, address space ID's save you from reloading them all the time,
but don't help with capacity.
But yeah, in the sense of "with PTI, all kernel entries are slow
anyway, so none of this matters" is probably correct in a very real
sense.
That said, the real reason I like Andy's patch series is that I think
it's simpler than the alternatives (including the current setup). No
subtle mappings, no nothing. It removes a lot more lines than it adds,
and half the lines that it *does* add are comments.
Virtual mapping tricks may be cool, but in the end, not having to use
them is better still, I think.
Linus