Skip to content

More PCID fixes

Andy Lutomirski lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4x86/mm: Factor out CR3-building codearch/x86/include/asm/mmu_context.h arch/x86/mm/tlb.c+16 -100 replies
2/4x86/mm/64: Stop using CR3.PCID == 0 in ASID-aware codearch/x86/include/asm/mmu_context.h+19 -20 replies
3/4x86/mm/32: Move setup_clear_cpu_cap(X86_FEATURE_PCID) earlierarch/x86/kernel/cpu/bugs.c arch/x86/kernel/cpu/common.c+8 -80 replies
4/4x86/mm/32: Load a sane CR3 before cpu_init() on secondary CPUsarch/x86/kernel/smpboot.c+7 -62 replies

Reviews trailers per patch

None of the 4 patches has a Reviewed-by or Acked-by.

PatchPaul MenzelPavel Machek
1/4
2/4
3/4
4/4T-b T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/4] More PCID fixes

This fixes a 32-bit boot warning, a 32-bit boot oddity that seems unsymtomatic right now, and a potential userspace corruption issue across EFI calls if PCID is enabled.

With this series applied, the only remaining issue I'm aware of is the paging-structure cache laziness problem.

I've tested SMP boot, suspend/resume, hotplug/unplug, and hibernate on a 32-bit VM, a 64-bit VM, and a 64-bit laptop. (Except hibernate on the laptop -- my laptop can't resume from hibernation on *any* kernel due to a userspace (systemd? Fedora overall integration?) issue.)

Andy Lutomirski (4):
x86/mm: Factor out CR3-building code
x86/mm/64: Stop using CR3.PCID == 0 in ASID-aware code x86/mm/32: Move setup_clear_cpu_cap(X86_FEATURE_PCID) earlier x86/mm/32: Load a sane CR3 before cpu_init() on secondary CPUs

 arch/x86/include/asm/mmu_context.h | 32 ++++++++++++++++++++++++++++----
 arch/x86/kernel/cpu/bugs.c         |  8 --------
 arch/x86/kernel/cpu/common.c       |  8 ++++++++
 arch/x86/kernel/smpboot.c          | 13 +++++++------
 arch/x86/mm/tlb.c                  | 11 +++++------
 5 files changed, 48 insertions(+), 24 deletions(-)
Signature · 1 line
2.13.5