Re: [PATCHv7 00/14] x86: 5-level paging enabling for v4.13, Part 4
* Kirill A. Shutemovwrote: > On Thu, Jun 22, 2017 at 11:04:22AM +0200, Ingo Molnar wrote: > > > > * Kirill A. Shutemov wrote: > > > > > On Tue, Jun 06, 2017 at 02:31:19PM +0300, Kirill A. Shutemov wrote: > > > > Please review and consider applying. > > > > > > Hi Ingo, > > > > > > I've noticed you haven't applied last two patches of the patchset. > > > > > > Is there any problem with them? Or what is you plan here? > > > > As they change/extend the Linux ABI I still need to think about them some > > more. > > Okay, I see. > > Let me know if any action is required from my side. Yeah, so I had a look, and the ABI principle of using the mmap() address hint to trigger 57-bit address space allocations still looks mostly good to me, but please split up this patch: Subject: [PATCHv7 14/14] x86/mm: Allow to have userspace mappings above 47-bits arch/x86/include/asm/elf.h | 4 ++-- arch/x86/include/asm/mpx.h | 9 + arch/x86/include/asm/processor.h | 12 +--- arch/x86/kernel/sys_x86_64.c | 30 ++ arch/x86/mm/hugetlbpage.c| 27 +++ arch/x86/mm/mmap.c | 6 +++--- arch/x86/mm/mpx.c| 33 - 7 files changed, 104 insertions(+), 17 deletions(-) One patch should add the MPX quirk, another should add all the TASK_SIZE variations, without actually changing the logic, etc. - while the final patch adds the larger task size. Please try to split it into as many patches as possible - I'd say 4-5 look ideal. All of this changes existing code paths and if things break we'd like some small patch to be bisected to. The finer grained structure also makes review easier. Also, please rename the tasksize_*() functions to task_size_ (in yet another patch) - it's absolutely silly that we have 'TASK_SIZE' in uppercase but 'tasksize' in lowercase ... Thanks, Ingo
Re: [PATCHv7 00/14] x86: 5-level paging enabling for v4.13, Part 4
* Kirill A. Shutemov wrote: > On Thu, Jun 22, 2017 at 11:04:22AM +0200, Ingo Molnar wrote: > > > > * Kirill A. Shutemov wrote: > > > > > On Tue, Jun 06, 2017 at 02:31:19PM +0300, Kirill A. Shutemov wrote: > > > > Please review and consider applying. > > > > > > Hi Ingo, > > > > > > I've noticed you haven't applied last two patches of the patchset. > > > > > > Is there any problem with them? Or what is you plan here? > > > > As they change/extend the Linux ABI I still need to think about them some > > more. > > Okay, I see. > > Let me know if any action is required from my side. Yeah, so I had a look, and the ABI principle of using the mmap() address hint to trigger 57-bit address space allocations still looks mostly good to me, but please split up this patch: Subject: [PATCHv7 14/14] x86/mm: Allow to have userspace mappings above 47-bits arch/x86/include/asm/elf.h | 4 ++-- arch/x86/include/asm/mpx.h | 9 + arch/x86/include/asm/processor.h | 12 +--- arch/x86/kernel/sys_x86_64.c | 30 ++ arch/x86/mm/hugetlbpage.c| 27 +++ arch/x86/mm/mmap.c | 6 +++--- arch/x86/mm/mpx.c| 33 - 7 files changed, 104 insertions(+), 17 deletions(-) One patch should add the MPX quirk, another should add all the TASK_SIZE variations, without actually changing the logic, etc. - while the final patch adds the larger task size. Please try to split it into as many patches as possible - I'd say 4-5 look ideal. All of this changes existing code paths and if things break we'd like some small patch to be bisected to. The finer grained structure also makes review easier. Also, please rename the tasksize_*() functions to task_size_ (in yet another patch) - it's absolutely silly that we have 'TASK_SIZE' in uppercase but 'tasksize' in lowercase ... Thanks, Ingo
Re: [PATCHv7 00/14] x86: 5-level paging enabling for v4.13, Part 4
On Thu, Jun 22, 2017 at 11:04:22AM +0200, Ingo Molnar wrote: > > * Kirill A. Shutemovwrote: > > > On Tue, Jun 06, 2017 at 02:31:19PM +0300, Kirill A. Shutemov wrote: > > > Please review and consider applying. > > > > Hi Ingo, > > > > I've noticed you haven't applied last two patches of the patchset. > > > > Is there any problem with them? Or what is you plan here? > > As they change/extend the Linux ABI I still need to think about them some > more. Okay, I see. Let me know if any action is required from my side. -- Kirill A. Shutemov
Re: [PATCHv7 00/14] x86: 5-level paging enabling for v4.13, Part 4
On Thu, Jun 22, 2017 at 11:04:22AM +0200, Ingo Molnar wrote: > > * Kirill A. Shutemov wrote: > > > On Tue, Jun 06, 2017 at 02:31:19PM +0300, Kirill A. Shutemov wrote: > > > Please review and consider applying. > > > > Hi Ingo, > > > > I've noticed you haven't applied last two patches of the patchset. > > > > Is there any problem with them? Or what is you plan here? > > As they change/extend the Linux ABI I still need to think about them some > more. Okay, I see. Let me know if any action is required from my side. -- Kirill A. Shutemov
Re: [PATCHv7 00/14] x86: 5-level paging enabling for v4.13, Part 4
* Kirill A. Shutemovwrote: > On Tue, Jun 06, 2017 at 02:31:19PM +0300, Kirill A. Shutemov wrote: > > Please review and consider applying. > > Hi Ingo, > > I've noticed you haven't applied last two patches of the patchset. > > Is there any problem with them? Or what is you plan here? As they change/extend the Linux ABI I still need to think about them some more. Thanks, Ingo
Re: [PATCHv7 00/14] x86: 5-level paging enabling for v4.13, Part 4
* Kirill A. Shutemov wrote: > On Tue, Jun 06, 2017 at 02:31:19PM +0300, Kirill A. Shutemov wrote: > > Please review and consider applying. > > Hi Ingo, > > I've noticed you haven't applied last two patches of the patchset. > > Is there any problem with them? Or what is you plan here? As they change/extend the Linux ABI I still need to think about them some more. Thanks, Ingo
Re: [PATCHv7 00/14] x86: 5-level paging enabling for v4.13, Part 4
On Tue, Jun 06, 2017 at 02:31:19PM +0300, Kirill A. Shutemov wrote: > Please review and consider applying. Hi Ingo, I've noticed you haven't applied last two patches of the patchset. Is there any problem with them? Or what is you plan here? -- Kirill A. Shutemov
Re: [PATCHv7 00/14] x86: 5-level paging enabling for v4.13, Part 4
On Tue, Jun 06, 2017 at 02:31:19PM +0300, Kirill A. Shutemov wrote: > Please review and consider applying. Hi Ingo, I've noticed you haven't applied last two patches of the patchset. Is there any problem with them? Or what is you plan here? -- Kirill A. Shutemov
[PATCHv7 00/14] x86: 5-level paging enabling for v4.13, Part 4
Here's updated version of the last bunch of of patches that brings initial 5-level paging enabling. Please review and consider applying. Changes since v6: - Major rework 5-level paging enabling in decompression code to fix #GP when bootloader enables long mode. - Fix in sync_global_pgds() (Andrey Ryabinin); - Couple Reviewed-by form Juergen Gross. Kirill A. Shutemov (14): 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 configuration 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: Enable 5-level paging support x86/mm: Allow to have userspace mappings above 47-bits arch/arm/Kconfig| 2 +- arch/arm64/Kconfig | 2 +- arch/powerpc/Kconfig| 2 +- arch/x86/Kconfig| 8 + arch/x86/boot/compressed/eboot.c| 73 ++-- arch/x86/boot/compressed/head_64.S | 86 - arch/x86/entry/entry_64.S | 3 +- arch/x86/include/asm/elf.h | 4 +- arch/x86/include/asm/mmu_context.h | 12 - arch/x86/include/asm/mpx.h | 9 + 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.h| 12 +- arch/x86/include/uapi/asm/processor-flags.h | 2 + arch/x86/kernel/espfix_64.c | 2 +- arch/x86/kernel/head64.c| 143 +++- arch/x86/kernel/head_64.S | 131 ++-- arch/x86/kernel/machine_kexec_64.c | 2 +- arch/x86/kernel/sys_x86_64.c| 30 +- arch/x86/mm/Makefile| 2 +- arch/x86/mm/dump_pagetables.c | 2 +- arch/x86/mm/gup.c | 496 arch/x86/mm/hugetlbpage.c | 27 +- arch/x86/mm/init_64.c | 108 +- arch/x86/mm/kasan_init_64.c | 12 +- arch/x86/mm/kaslr.c | 81 +++-- arch/x86/mm/mmap.c | 6 +- arch/x86/mm/mpx.c | 33 +- arch/x86/realmode/init.c| 2 +- arch/x86/xen/Kconfig| 1 + arch/x86/xen/mmu_pv.c | 16 +- arch/x86/xen/xen-pvh.S | 2 +- mm/Kconfig | 2 +- mm/gup.c| 10 +- 35 files changed, 722 insertions(+), 725 deletions(-) delete mode 100644 arch/x86/mm/gup.c -- 2.11.0
[PATCHv7 00/14] x86: 5-level paging enabling for v4.13, Part 4
Here's updated version of the last bunch of of patches that brings initial 5-level paging enabling. Please review and consider applying. Changes since v6: - Major rework 5-level paging enabling in decompression code to fix #GP when bootloader enables long mode. - Fix in sync_global_pgds() (Andrey Ryabinin); - Couple Reviewed-by form Juergen Gross. Kirill A. Shutemov (14): 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 configuration 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: Enable 5-level paging support x86/mm: Allow to have userspace mappings above 47-bits arch/arm/Kconfig| 2 +- arch/arm64/Kconfig | 2 +- arch/powerpc/Kconfig| 2 +- arch/x86/Kconfig| 8 + arch/x86/boot/compressed/eboot.c| 73 ++-- arch/x86/boot/compressed/head_64.S | 86 - arch/x86/entry/entry_64.S | 3 +- arch/x86/include/asm/elf.h | 4 +- arch/x86/include/asm/mmu_context.h | 12 - arch/x86/include/asm/mpx.h | 9 + 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.h| 12 +- arch/x86/include/uapi/asm/processor-flags.h | 2 + arch/x86/kernel/espfix_64.c | 2 +- arch/x86/kernel/head64.c| 143 +++- arch/x86/kernel/head_64.S | 131 ++-- arch/x86/kernel/machine_kexec_64.c | 2 +- arch/x86/kernel/sys_x86_64.c| 30 +- arch/x86/mm/Makefile| 2 +- arch/x86/mm/dump_pagetables.c | 2 +- arch/x86/mm/gup.c | 496 arch/x86/mm/hugetlbpage.c | 27 +- arch/x86/mm/init_64.c | 108 +- arch/x86/mm/kasan_init_64.c | 12 +- arch/x86/mm/kaslr.c | 81 +++-- arch/x86/mm/mmap.c | 6 +- arch/x86/mm/mpx.c | 33 +- arch/x86/realmode/init.c| 2 +- arch/x86/xen/Kconfig| 1 + arch/x86/xen/mmu_pv.c | 16 +- arch/x86/xen/xen-pvh.S | 2 +- mm/Kconfig | 2 +- mm/gup.c| 10 +- 35 files changed, 722 insertions(+), 725 deletions(-) delete mode 100644 arch/x86/mm/gup.c -- 2.11.0