Re: [PATCH] x86/retpoline/entry: Disable the entire SYSCALL64 fast path with retpolines on

From: Andy Lutomirski
Date: Thu Jan 25 2018 - 16:09:08 EST


On Thu, Jan 25, 2018 at 1:06 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, Jan 25, 2018 at 1:02 PM, Andy Lutomirski <luto@xxxxxxxxxx> wrote:
>>
>> Feel free to Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> that patch.
>>
>> Or I can grab it and send it to -tip.
>
> I'm not going to apply it for 4.15, I just wanted to see how it
> looked, and do some minimal profiling.
>
> From the profiles, as mentioned, moving 'status' from thread_struct to
> thread_info is probably worth doing. But I didn't look at the impact
> of that at all.
>
> So it should go through all the normal channels in -tip for 4.16.
>
> I'll happily sign off on the patch, but it was really pretty mindless,
> so I'm not sure I need the authorship either.
>
>> Re: the trampoline not showing up: if I find some time, I'll try to
>> wire it up correctly in kallsyms.
>
> That would be lovely. Right now the system call exit shows up pretty
> clearly in profiles, and most of it is (obviously) the cr3 write. So
> the missing entry trampoline is not insignificant.
>

With retpoline, the retpoline in the trampoline sucks. I don't need
perf for that -- I've benchmarked it both ways. It sucks. I'll fix
it, but it'll be kind of complicated.

--Andy