From: Ingo Molnar <mingo@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: Dave Hansen <dave.hansen@linux.intel.com>,
Andy Lutomirski <luto@amacapital.net>,
Thomas Gleixner <tglx@linutronix.de>,
"H . Peter Anvin" <hpa@zytor.com>,
Peter Zijlstra <peterz@infradead.org>,
Borislav Petkov <bp@alien8.de>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: [PATCH 00/24] x86/mm: Add KAISER support
Date: Mon, 27 Nov 2017 11:48:59 +0100 [thread overview]
Message-ID: <20171127104923.14378-1-mingo@kernel.org> (raw)
Sending this out for another round of review.
These are the main KAISER patches, on top of the preparatory series I just sent.
This includes KAISER support plus enhancements on top, all the latest code.
( All review feedback so far is incorporated - if anything is missing please
let me know. )
Thanks,
Ingo
=====================>
Dave Hansen (17):
x86/mm/kaiser: Disable global pages by default with KAISER
x86/mm/kaiser: Prepare the x86/entry assembly code for entry/exit CR3 switching
x86/mm/kaiser: Introduce user-mapped per-CPU areas
x86/mm/kaiser: Unmap kernel mappings from userspace page tables, core patch
x86/mm/kaiser: Allow NX poison to be set in p4d/pgd
x86/mm/kaiser: Make sure the static PGDs are 8k in size
x86/mm/kaiser: Map the CPU entry area
x86/mm/kaiser: Map the dynamically-allocated LDTs
x86/mm/kaiser: Map the espfix structures
x86/mm/kaiser: Map the entry stack variables
x86/mm: Move the CR3 construction functions to tlbflush.h
x86/mm: Remove hard-coded ASID limit checks
x86/mm: Put MMU-to-h/w ASID translation in one place
x86/mm: Allow flushing for future ASID switches
x86/mm/kaiser: Use PCID feature to make user and kernel switches faster
x86/mm/kaiser: Disable native VSYSCALL
x86/mm/kaiser: Add Kconfig
Hugh Dickins (1):
x86/mm/kaiser: Map virtually-addressed performance monitoring buffers
Peter Zijlstra (1):
x86/mm/kaiser: Use the other page_table_lock pattern
Thomas Gleixner (5):
x86/mm/kaiser: Respect disabled CPU features
x86/mm/kaiser: Simplify disabling of global pages
x86/mm/dump_pagetables: Check Kaiser shadow page table for WX pages
x86/mm/debug_pagetables: Allow dumping current pagetables
x86/mm/kaiser: Add boot time disable switch
Documentation/x86/kaiser.txt | 159 +++++++++
arch/x86/Kconfig | 8 +
arch/x86/entry/calling.h | 84 +++++
arch/x86/entry/entry_64.S | 38 +-
arch/x86/entry/entry_64_compat.S | 24 +-
arch/x86/events/intel/ds.c | 49 ++-
arch/x86/include/asm/cpufeatures.h | 1 +
arch/x86/include/asm/kaiser.h | 73 ++++
arch/x86/include/asm/mmu_context.h | 29 +-
arch/x86/include/asm/pgtable.h | 20 +-
arch/x86/include/asm/pgtable_64.h | 140 ++++++++
arch/x86/include/asm/pgtable_types.h | 14 +-
arch/x86/include/asm/tlbflush.h | 208 +++++++++--
arch/x86/include/uapi/asm/processor-flags.h | 3 +-
arch/x86/kernel/cpu/common.c | 6 +-
arch/x86/kernel/espfix_64.c | 28 +-
arch/x86/kernel/head_64.S | 30 +-
arch/x86/kernel/ldt.c | 25 +-
arch/x86/kernel/process_64.c | 2 +-
arch/x86/kvm/x86.c | 3 +-
arch/x86/mm/Makefile | 1 +
arch/x86/mm/debug_pagetables.c | 81 ++++-
arch/x86/mm/dump_pagetables.c | 32 +-
arch/x86/mm/init.c | 89 +++--
arch/x86/mm/kaiser.c | 521 ++++++++++++++++++++++++++++
arch/x86/mm/pageattr.c | 2 +-
arch/x86/mm/pgtable.c | 16 +-
arch/x86/mm/tlb.c | 105 +++++-
include/asm-generic/vmlinux.lds.h | 7 +
include/linux/kaiser.h | 32 ++
include/linux/percpu-defs.h | 30 ++
init/main.c | 3 +
kernel/fork.c | 1 +
security/Kconfig | 10 +
34 files changed, 1744 insertions(+), 130 deletions(-)
create mode 100644 Documentation/x86/kaiser.txt
create mode 100644 arch/x86/include/asm/kaiser.h
create mode 100644 arch/x86/mm/kaiser.c
create mode 100644 include/linux/kaiser.h
--
2.14.1
next reply other threads:[~2017-11-27 10:51 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-27 10:48 Ingo Molnar [this message]
2017-11-27 10:49 ` [PATCH 01/24] x86/mm/kaiser: Disable global pages by default with KAISER Ingo Molnar
2017-11-27 10:49 ` [PATCH 02/24] x86/mm/kaiser: Prepare the x86/entry assembly code for entry/exit CR3 switching Ingo Molnar
2017-11-27 17:31 ` Peter Zijlstra
2017-11-27 17:33 ` Thomas Gleixner
2017-11-27 21:00 ` Peter Zijlstra
2017-11-27 10:49 ` [PATCH 03/24] x86/mm/kaiser: Introduce user-mapped per-CPU areas Ingo Molnar
2017-11-27 10:49 ` [PATCH 04/24] x86/mm/kaiser: Unmap kernel mappings from userspace page tables, core patch Ingo Molnar
2017-11-27 15:39 ` Peter Zijlstra
2017-11-27 17:04 ` Borislav Petkov
2017-11-27 19:17 ` Dave Hansen
2017-11-28 10:34 ` Peter Zijlstra
2017-11-27 10:49 ` [PATCH 05/24] x86/mm/kaiser: Allow NX poison to be set in p4d/pgd Ingo Molnar
2017-11-27 10:49 ` [PATCH 06/24] x86/mm/kaiser: Make sure the static PGDs are 8k in size Ingo Molnar
2017-11-27 10:49 ` [PATCH 07/24] x86/mm/kaiser: Map the CPU entry area Ingo Molnar
2017-11-27 10:49 ` [PATCH 08/24] x86/mm/kaiser: Map the dynamically-allocated LDTs Ingo Molnar
2017-11-29 22:03 ` [08/24] " Guenter Roeck
2017-11-27 10:49 ` [PATCH 09/24] x86/mm/kaiser: Map the espfix structures Ingo Molnar
2017-11-27 10:49 ` [PATCH 10/24] x86/mm/kaiser: Map the entry stack variables Ingo Molnar
2017-11-27 17:22 ` Peter Zijlstra
2017-11-27 17:32 ` Thomas Gleixner
2017-11-27 21:00 ` Peter Zijlstra
2017-11-27 17:29 ` Peter Zijlstra
2017-11-27 17:32 ` Thomas Gleixner
2017-11-27 10:49 ` [PATCH 11/24] x86/mm/kaiser: Map virtually-addressed performance monitoring buffers Ingo Molnar
2017-11-27 10:49 ` [PATCH 12/24] x86/mm: Move the CR3 construction functions to tlbflush.h Ingo Molnar
2017-11-27 10:49 ` [PATCH 13/24] x86/mm: Remove hard-coded ASID limit checks Ingo Molnar
2017-11-27 10:49 ` [PATCH 14/24] x86/mm: Put MMU-to-h/w ASID translation in one place Ingo Molnar
2017-11-27 10:49 ` [PATCH 15/24] x86/mm: Allow flushing for future ASID switches Ingo Molnar
2017-11-28 5:16 ` Andy Lutomirski
2017-11-28 7:32 ` Dave Hansen
2017-11-28 16:39 ` Peter Zijlstra
2017-11-28 16:48 ` Peter Zijlstra
2017-11-28 18:13 ` Dave Hansen
2017-11-28 19:05 ` Peter Zijlstra
2017-11-28 19:36 ` Peter Zijlstra
2017-11-28 20:34 ` Andy Lutomirski
2017-11-28 20:39 ` Peter Zijlstra
2017-11-28 20:45 ` Peter Zijlstra
2017-11-30 15:40 ` Peter Zijlstra
2017-11-30 15:42 ` Andy Lutomirski
2017-11-30 15:44 ` Peter Zijlstra
2017-11-30 15:51 ` Dave Hansen
2017-11-30 16:18 ` Peter Zijlstra
2017-11-30 18:44 ` Dave Hansen
2017-11-30 18:48 ` Andy Lutomirski
2017-11-30 18:53 ` Dave Hansen
2017-11-30 20:01 ` Peter Zijlstra
2017-11-30 21:51 ` Andy Lutomirski
2017-11-30 18:55 ` Peter Zijlstra
2017-11-30 19:00 ` Dave Hansen
2017-11-30 19:20 ` Peter Zijlstra
2017-11-27 10:49 ` [PATCH 16/24] x86/mm/kaiser: Use PCID feature to make user and kernel switches faster Ingo Molnar
2017-11-28 5:22 ` Andy Lutomirski
2017-11-28 7:52 ` Dave Hansen
2017-11-27 10:49 ` [PATCH 17/24] x86/mm/kaiser: Disable native VSYSCALL Ingo Molnar
2017-11-27 10:49 ` [PATCH 18/24] x86/mm/kaiser: Add Kconfig Ingo Molnar
2017-11-27 10:49 ` [PATCH 19/24] x86/mm/kaiser: Respect disabled CPU features Ingo Molnar
2017-11-27 10:49 ` [PATCH 20/24] x86/mm/kaiser: Simplify disabling of global pages Ingo Molnar
2017-11-27 10:49 ` [PATCH 21/24] x86/mm/dump_pagetables: Check Kaiser shadow page table for WX pages Ingo Molnar
2017-11-27 10:49 ` [PATCH 22/24] x86/mm/debug_pagetables: Allow dumping current pagetables Ingo Molnar
2017-11-27 10:49 ` [PATCH 23/24] x86/mm/kaiser: Add boot time disable switch Ingo Molnar
2017-11-27 10:49 ` [PATCH 24/24] x86/mm/kaiser: Use the other page_table_lock pattern Ingo Molnar
2017-11-27 13:51 ` [PATCH 00/24] x86/mm: Add KAISER support Borislav Petkov
2017-11-27 13:57 ` Thomas Gleixner
2017-11-27 13:59 ` Borislav Petkov
2017-11-27 14:03 ` Ingo Molnar
2017-11-27 14:08 ` Ingo Molnar
2017-11-27 19:43 ` Linus Torvalds
2017-11-27 20:01 ` Linus Torvalds
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=20171127104923.14378-1-mingo@kernel.org \
--to=mingo@kernel.org \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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.