From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f71.google.com (mail-wm0-f71.google.com [74.125.82.71]) by kanga.kvack.org (Postfix) with ESMTP id 8846B6B0008 for ; Tue, 27 Mar 2018 09:36:19 -0400 (EDT) Received: by mail-wm0-f71.google.com with SMTP id z83so5542071wmc.2 for ; Tue, 27 Mar 2018 06:36:19 -0700 (PDT) Received: from Galois.linutronix.de (Galois.linutronix.de. [2a01:7a0:2:106d:700::1]) by mx.google.com with ESMTPS id o135si1088684wmg.78.2018.03.27.06.36.17 for (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 27 Mar 2018 06:36:17 -0700 (PDT) Date: Tue, 27 Mar 2018 15:36:10 +0200 (CEST) From: Thomas Gleixner Subject: Re: [PATCH 00/11] Use global pages with PTI In-Reply-To: Message-ID: References: <20180323174447.55F35636@viggo.jf.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: owner-linux-mm@kvack.org List-ID: To: Dave Hansen Cc: Linus Torvalds , Linux Kernel Mailing List , linux-mm , Andrea Arcangeli , Andrew Lutomirski , Kees Cook , Hugh Dickins , =?ISO-8859-15?Q?J=FCrgen_Gro=DF?= , the arch/x86 maintainers , namit@vmware.com On Fri, 23 Mar 2018, Dave Hansen wrote: > On 03/23/2018 11:26 AM, Linus Torvalds wrote: > > On Fri, Mar 23, 2018 at 10:44 AM, Dave Hansen > > 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. What's the performance benefit on !PCID systems? And I mean systems which actually do not have PCID, not a PCID system with 'nopcid' on the command line. Thanks, tglx