Re: [patch V2 5/5] x86/kaiser: Add boottime disable switch

From: Peter Zijlstra
Date: Mon Nov 27 2017 - 04:49:21 EST


On Mon, Nov 27, 2017 at 12:14:08AM +0100, Thomas Gleixner wrote:
> KAISER comes with overhead. The most expensive part is the CR3 switching in
> the entry code.
>
> Add a command line parameter which allows to disable KAISER at boot time.
>
> Most code pathes simply check a variable, but the entry code uses a static
> branch. The other code pathes cannot use a static branch because they are
> used before jump label patching is possible. Not an issue as the code
> pathes are not so performance sensitive as the entry/exit code.
>
> This makes KAISER depend on JUMP_LABEL and on a GCC which supports
> it, but that's a resonable requirement.
>
> The PGD allocation is still 8k when CONFIG_KAISER is enabled. This can be
> addressed on top of this.

So in patch 15 Andy notes that we should probably also disable the
SYSCALL trampoline when we disable KAISER.

https://lkml.kernel.org/r/20171124172411.19476-16-mingo@xxxxxxxxxx