On Fri, 7 Sep 2018, Linus Torvalds wrote: > On Fri, Sep 7, 2018 at 12:54 PM Thomas Gleixner <t...@linutronix.de> 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.
Unfortunately yes. As Andy pointed out the alternative approach would trade an avoided pipeline stall with an extra TLB. > 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. I agree and in fact I had the series already queued for merging, I just wanted to get the full picture and add some of that information to the changelog. > Virtual mapping tricks may be cool, but in the end, not having to use > them is better still, I think. Sure, unless they provide a real value. The maybe smaller leak of address information is probably not worth it. Thanks, tglx