From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753578AbdGCJW7 (ORCPT ); Mon, 3 Jul 2017 05:22:59 -0400 Received: from mail-wm0-f50.google.com ([74.125.82.50]:34969 "EHLO mail-wm0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752710AbdGCJW5 (ORCPT ); Mon, 3 Jul 2017 05:22:57 -0400 Date: Mon, 3 Jul 2017 11:22:53 +0200 From: Ingo Molnar To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, Thomas Gleixner , "H. Peter Anvin" , Peter Zijlstra , Andrew Morton , Andy Lutomirski Subject: [GIT PULL] x86/mm changes for v4.13 Message-ID: <20170703092253.af53daiswsvm6t75@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Linus, Please pull the latest x86-mm-for-linus git tree from: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-mm-for-linus # HEAD: 8781fb7e9749da424e01daacd14834b674658c63 x86/mm: Delete a big outdated comment about TLB flushing The main changes in this cycle were: - Continued work to add support for 5-level paging provided by future Intel CPUs. In particular we switch the x86 GUP code to the generic implementation. (Kirill A. Shutemov) - Continued work to add PCID CPU support to native kernels as well. In this round most of the focus is on reworking/refreshing the TLB flush infrastructure for the upcoming PCID changes. (Andy Lutomirski) out-of-topic modifications in x86-mm-for-linus: ------------------------------------------------- arch/arm/Kconfig # e585513b76f7: x86/mm/gup: Switch GUP to th arch/arm64/Kconfig # e585513b76f7: x86/mm/gup: Switch GUP to th arch/powerpc/Kconfig # e585513b76f7: x86/mm/gup: Switch GUP to th include/linux/mm_types_task.h # e73ad5ff2f76: mm, x86/mm: Make the batched include/linux/vm_event_item.h # 5dd0b16cdaff: mm/vmstat: Make NR_TLB_REMOT mm/Kconfig # e585513b76f7: x86/mm/gup: Switch GUP to th mm/gup.c # e585513b76f7: x86/mm/gup: Switch GUP to th mm/rmap.c # e73ad5ff2f76: mm, x86/mm: Make the batched Thanks, Ingo ------------------> Andy Lutomirski (17): x86/mm: Reimplement flush_tlb_page() using flush_tlb_mm_range() x86/mm: Reduce indentation in flush_tlb_func() mm, x86/mm: Make the batched unmap TLB flush API more generic x86/mm: Pass flush_tlb_info to flush_tlb_others() etc x86/mm: Change the leave_mm() condition for local TLB flushes x86/mm: Refactor flush_tlb_mm_range() to merge local and remote cases x86/mm: Use new merged flush logic in arch_tlbbatch_flush() x86/mm: Remove the UP asm/tlbflush.h code, always use the (formerly) SMP code x86/mm: Rework lazy TLB to track the actual loaded mm x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush code x86/mm, KVM: Teach KVM's VMX code that CR3 isn't a constant mm/vmstat: Make NR_TLB_REMOTE_FLUSH_RECEIVED available even on UP x86/mm: Split read_cr3() into read_cr3_pa() and __read_cr3() x86/ldt: Simplify the LDT switching logic x86/mm: Remove reset_lazy_tlbstate() x86/mm: Don't reenter flush_tlb_func_common() x86/mm: Delete a big outdated comment about TLB flushing Borislav Petkov (1): x86/ldt: Rename ldt_struct::size to ::nr_entries Kirill A. Shutemov (15): x86/mm/gup: Switch GUP to the generic get_user_page_fast() implementation x86/asm: Fix comment in return_from_SYSCALL_64() x86/boot/efi: Cleanup initialization of GDT entries x86/boot/efi: Fix __KERNEL_CS definition of GDT entry on 64-bit configurations x86/boot/efi: Define __KERNEL32_CS GDT on 64-bit configurations x86/boot/compressed: Enable 5-level paging during decompression stage x86/boot/64: Rewrite startup_64() in C x86/boot/64: Rename init_level4_pgt and early_level4_pgt x86/boot/64: Add support of additional page table level during early boot x86/mm: Add sync_global_pgds() for configuration with 5-level paging x86/mm: Make kernel_physical_mapping_init() support 5-level paging x86/mm: Add support for 5-level paging for KASLR x86/boot/64: Put __startup_64() into .head.text x86/ftrace: Exclude functions in head64.c from function-tracing x86/KASLR: Fix detection 32/64 bit bootloaders for 5-level paging Michal Hocko (1): x86/mmap, ASLR: Do not treat unlimited-stack tasks as legacy mmap arch/arm/Kconfig | 2 +- arch/arm64/Kconfig | 2 +- arch/powerpc/Kconfig | 2 +- arch/x86/Kconfig | 5 +- arch/x86/boot/compressed/eboot.c | 73 ++-- arch/x86/boot/compressed/head_64.S | 86 ++++- arch/x86/boot/compressed/pagetable.c | 18 +- arch/x86/entry/entry_64.S | 3 +- arch/x86/events/core.c | 5 +- arch/x86/include/asm/efi.h | 2 +- arch/x86/include/asm/hardirq.h | 2 +- arch/x86/include/asm/mmu.h | 6 - arch/x86/include/asm/mmu_context.h | 63 +++- arch/x86/include/asm/paravirt.h | 8 +- arch/x86/include/asm/paravirt_types.h | 5 +- arch/x86/include/asm/pgtable-3level.h | 47 +++ arch/x86/include/asm/pgtable.h | 55 ++- arch/x86/include/asm/pgtable_64.h | 22 +- arch/x86/include/asm/processor-flags.h | 36 ++ arch/x86/include/asm/processor.h | 8 + arch/x86/include/asm/special_insns.h | 10 +- arch/x86/include/asm/tlbbatch.h | 14 + arch/x86/include/asm/tlbflush.h | 114 ++----- arch/x86/include/asm/uv/uv.h | 11 +- arch/x86/include/uapi/asm/processor-flags.h | 2 + arch/x86/kernel/Makefile | 1 + arch/x86/kernel/espfix_64.c | 2 +- arch/x86/kernel/head64.c | 145 +++++++- arch/x86/kernel/head_64.S | 131 ++------ arch/x86/kernel/ldt.c | 56 ++-- arch/x86/kernel/machine_kexec_64.c | 2 +- arch/x86/kernel/paravirt.c | 2 +- arch/x86/kernel/process_32.c | 2 +- arch/x86/kernel/process_64.c | 4 +- arch/x86/kernel/smpboot.c | 1 - arch/x86/kernel/step.c | 2 +- arch/x86/kvm/vmx.c | 21 +- arch/x86/math-emu/fpu_system.h | 2 +- arch/x86/mm/Makefile | 2 +- arch/x86/mm/dump_pagetables.c | 2 +- arch/x86/mm/fault.c | 10 +- arch/x86/mm/gup.c | 496 ---------------------------- arch/x86/mm/init.c | 4 +- arch/x86/mm/init_64.c | 108 +++++- arch/x86/mm/ioremap.c | 2 +- arch/x86/mm/kasan_init_64.c | 12 +- arch/x86/mm/kaslr.c | 81 +++-- arch/x86/mm/mmap.c | 3 - arch/x86/mm/tlb.c | 458 +++++++++++-------------- arch/x86/platform/efi/efi_64.c | 4 +- arch/x86/platform/olpc/olpc-xo1-pm.c | 2 +- arch/x86/platform/uv/tlb_uv.c | 10 +- arch/x86/power/cpu.c | 2 +- arch/x86/power/hibernate_64.c | 3 +- arch/x86/realmode/init.c | 2 +- arch/x86/xen/mmu_pv.c | 83 +++-- arch/x86/xen/xen-pvh.S | 2 +- include/linux/mm_types_task.h | 15 +- include/linux/vm_event_item.h | 2 - mm/Kconfig | 2 +- mm/gup.c | 10 +- mm/rmap.c | 16 +- 62 files changed, 1083 insertions(+), 1220 deletions(-) create mode 100644 arch/x86/include/asm/tlbbatch.h delete mode 100644 arch/x86/mm/gup.c [ ... diff skipped due to size ... ]