[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CCFAB5E0-263E-4D9F-92A5-51922EF5998C@fb.com>
Date: Tue, 20 Aug 2019 16:05:45 +0000
From: Song Liu <songliubraving@...com>
To: Dave Hansen <dave.hansen@...el.com>
CC: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux MM <linux-mm@...ck.org>,
Kernel Team <Kernel-team@...com>,
"stable@...r.kernel.org" <stable@...r.kernel.org>,
Joerg Roedel <jroedel@...e.de>,
Thomas Gleixner <tglx@...utronix.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Andy Lutomirski <luto@...nel.org>,
"Peter Zijlstra" <peterz@...radead.org>
Subject: Re: [PATCH] x86/mm/pti: in pti_clone_pgtable() don't increase addr by
PUD_SIZE
> On Aug 20, 2019, at 7:18 AM, Dave Hansen <dave.hansen@...el.com> wrote:
>
> On 8/20/19 7:14 AM, Song Liu wrote:
>>> *But*, that shouldn't get hit on a Skylake CPU since those have PCIDs
>>> and shouldn't have a global kernel image. Could you confirm whether
>>> PCIDs are supported on this CPU?
>> Yes, pcid is listed in /proc/cpuinfo.
>
> So what's going on? Could you confirm exactly which pti_clone_pgtable()
> is causing you problems? Do you have a theory as to why this manifests
> as a performance problem rather than a functional one?
>
> A diff of these:
>
> /sys/kernel/debug/page_tables/current_user
> /sys/kernel/debug/page_tables/current_kernel
>
> before and after your patch might be helpful.
I believe the difference is from the following entries (7 PMDs)
Before the patch:
current_kernel: 0xffffffff81000000-0xffffffff81e04000 14352K ro GLB x pte
efi: 0xffffffff81000000-0xffffffff81e04000 14352K ro GLB x pte
kernel: 0xffffffff81000000-0xffffffff81e04000 14352K ro GLB x pte
After the patch:
current_kernel: 0xffffffff81000000-0xffffffff81e00000 14M ro PSE GLB x pmd
efi: 0xffffffff81000000-0xffffffff81e00000 14M ro PSE GLB x pmd
kernel: 0xffffffff81000000-0xffffffff81e00000 14M ro PSE GLB x pmd
current_kernel and kernel show same data though.
Thanks,
Song
Powered by blists - more mailing lists