On Aug 20, 2019, at 7:18 AM, Dave Hansen dave.hansen@intel.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