[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d7cb1705-5ef0-5f6e-b1cf-e3f28e998477@linux.intel.com>
Date: Wed, 1 Nov 2017 15:14:11 -0700
From: Dave Hansen <dave.hansen@...ux.intel.com>
To: Ingo Molnar <mingo@...nel.org>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
Andy Lutomirski <luto@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
"H. Peter Anvin" <hpa@...or.com>,
borisBrian Gerst <brgerst@...il.com>,
Denys Vlasenko <dvlasenk@...hat.com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Thomas Garnier <thgarnie@...gle.com>,
Kees Cook <keescook@...gle.com>
Subject: Re: [PATCH 00/23] KAISER: unmap most of the kernel from userspace
page tables
On 11/01/2017 01:54 AM, Ingo Molnar wrote:
> Beyond the inevitable cavalcade of (solvable) problems that will pop up during
> review, one major item I'd like to see addressed is runtime configurability: it
> should be possible to switch between a CR3-flushing and a regular syscall and page
> table model on the admin level, without restarting the kernel and apps. Distros
> really, really don't want to double the number of kernel variants they have.
>
> The 'Kaiser off' runtime switch doesn't have to be as efficient as
> CONFIG_KAISER=n, at least initialloy, but at minimum it should avoid the most
> expensive page table switching paths in the syscall entry codepaths.
Due to popular demand, I went and implemented this today. It's not the
prettiest code I ever wrote, but it's pretty small.
Just in case anyone wants to play with it, I threw a snapshot of it up here:
> https://git.kernel.org/pub/scm/linux/kernel/git/daveh/x86-kaiser.git/log/?h=kaiser-dynamic-414rc6-20171101
I ran some quick tests. When CONFIG_KAISER=y, but "echo 0 >
kaiser-enabled", the tests that I ran were within the noise vs. a
vanilla kernel, and that's with *zero* optimization.
Powered by blists - more mailing lists