From: Dave Hansen <dave.hansen@linux.intel.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>,
"Andrea Arcangeli" <aarcange@redhat.com>,
"Andrew Lutomirski" <luto@kernel.org>,
"Kees Cook" <keescook@google.com>,
"Hugh Dickins" <hughd@google.com>,
"Jürgen Groß" <jgross@suse.com>,
"the arch/x86 maintainers" <x86@kernel.org>,
namit@vmware.com
Subject: Re: [PATCH 00/11] Use global pages with PTI
Date: Fri, 23 Mar 2018 17:40:57 -0700 [thread overview]
Message-ID: <be2e683c-bf0a-e9ce-2f02-4905f6bd56d3@linux.intel.com> (raw)
In-Reply-To: <CA+55aFwEC1O+6qRc35XwpcuLSgJ+0GP6ciqw_1Oc-msX=efLvQ@mail.gmail.com>
On 03/23/2018 11:26 AM, Linus Torvalds wrote:
> On Fri, Mar 23, 2018 at 10:44 AM, Dave Hansen
> <dave.hansen@linux.intel.com> wrote:
>>
>> This adds one major change from the last version of the patch set
>> (present in the last patch). It makes all kernel text global for non-
>> PCID systems. This keeps kernel data protected always, but means that
>> it will be easier to find kernel gadgets via meltdown on old systems
>> without PCIDs. This heuristic is, I think, a reasonable one and it
>> keeps us from having to create any new pti=foo options
>
> Sounds sane.
>
> The patches look reasonable, but I hate seeing a patch series like
> this where the only ostensible reason is performance, and there are no
> performance numbers anywhere..
Well, rats. This somehow makes things slower with PCIDs on. I thought
I reversed the numbers, but I actually do a "grep -c GLB
/sys/kernel/debug/page_tables/kernel" and record that in my logs right
next to the output of time(1), so it's awfully hard to screw up.
This is time doing a modestly-sized kernel compile on a 4-core Skylake
desktop.
User Time Kernel Time Clock Elapsed
Baseline ( 0 GLB PTEs) 803.79 67.77 237.30
w/series (28 GLB PTEs) 807.70 (+0.7%) 68.07 (+0.7%) 238.07 (+0.3%)
Without PCIDs, it behaves the way I would expect.
I'll ask around, but I'm open to any ideas about what the heck might be
causing this.
next prev parent reply other threads:[~2018-03-24 0:41 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-23 17:44 [PATCH 00/11] Use global pages with PTI Dave Hansen
2018-03-23 17:44 ` [PATCH 01/11] x86/mm: factor out pageattr _PAGE_GLOBAL setting Dave Hansen
2018-03-23 17:44 ` [PATCH 02/11] x86/mm: undo double _PAGE_PSE clearing Dave Hansen
2018-03-23 17:44 ` [PATCH 03/11] x86/mm: introduce "default" kernel PTE mask Dave Hansen
2018-03-23 17:44 ` [PATCH 04/11] x86/espfix: document use of _PAGE_GLOBAL Dave Hansen
2018-03-23 17:44 ` [PATCH 05/11] x86/mm: do not auto-massage page protections Dave Hansen
2018-03-23 19:15 ` Nadav Amit
2018-03-23 19:26 ` Dave Hansen
2018-03-23 19:26 ` Dave Hansen
2018-03-23 19:34 ` Nadav Amit
2018-03-23 19:38 ` Dave Hansen
2018-03-24 15:10 ` kbuild test robot
2018-03-24 15:10 ` kbuild test robot
2018-03-24 15:21 ` kbuild test robot
2018-03-24 15:21 ` kbuild test robot
2018-03-23 17:44 ` [PATCH 06/11] x86/mm: remove extra filtering in pageattr code Dave Hansen
2018-03-23 17:44 ` [PATCH 07/11] x86/mm: comment _PAGE_GLOBAL mystery Dave Hansen
2018-03-23 17:44 ` [PATCH 08/11] x86/mm: do not forbid _PAGE_RW before init for __ro_after_init Dave Hansen
2018-03-23 17:45 ` [PATCH 09/11] x86/pti: enable global pages for shared areas Dave Hansen
2018-03-23 19:12 ` Nadav Amit
2018-03-23 19:36 ` Dave Hansen
2018-03-23 17:45 ` [PATCH 10/11] x86/pti: clear _PAGE_GLOBAL for kernel image Dave Hansen
2018-03-23 17:45 ` [PATCH 11/11] x86/pti: leave kernel text global for !PCID Dave Hansen
2018-03-23 18:26 ` [PATCH 00/11] Use global pages with PTI Linus Torvalds
2018-03-24 0:40 ` Dave Hansen [this message]
2018-03-24 0:46 ` Linus Torvalds
2018-03-24 0:54 ` Linus Torvalds
2018-03-24 11:05 ` Ingo Molnar
2018-03-27 13:36 ` Thomas Gleixner
2018-03-27 16:32 ` Dave Hansen
2018-03-27 17:51 ` Thomas Gleixner
2018-03-27 20:07 ` Ingo Molnar
2018-03-27 20:19 ` Dave Hansen
2018-03-29 0:17 ` Dave Hansen
2018-03-30 12:09 ` Ingo Molnar
2018-03-30 12:17 ` Ingo Molnar
2018-03-30 20:26 ` Dave Hansen
2018-03-30 20:32 ` Thomas Gleixner
2018-03-30 21:40 ` Dave Hansen
2018-03-31 5:39 ` Ingo Molnar
2018-03-31 18:19 ` Dave Hansen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=be2e683c-bf0a-e9ce-2f02-4905f6bd56d3@linux.intel.com \
--to=dave.hansen@linux.intel.com \
--cc=aarcange@redhat.com \
--cc=hughd@google.com \
--cc=jgross@suse.com \
--cc=keescook@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=luto@kernel.org \
--cc=namit@vmware.com \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.