[PATCHv4, REBASED 0/4] x86: Reduce code duplication on page table initialization

Kirill A. Shutemov posted 4 patches 1 month, 1 week ago
There is a newer version of this series
arch/x86/include/asm/kexec.h       |  5 +-
arch/x86/kernel/acpi/madt_wakeup.c | 73 +++++-------------------
arch/x86/kernel/machine_kexec_64.c | 89 +++++++++++-------------------
arch/x86/mm/ident_map.c            | 14 +----
4 files changed, 50 insertions(+), 131 deletions(-)
[PATCHv4, REBASED 0/4] x86: Reduce code duplication on page table initialization
Posted by Kirill A. Shutemov 1 month, 1 week ago
Use kernel_ident_mapping_init() to initialize kernel page tables where
possible, replacing manual initialization, reducing code duplication.

v4:
 - Reviewed-bys from Kai;
 - Fix comment in acpi_mp_setup_reset() (Rafael);
v3:
 - Reviewed-bys from Tom;
 - Improve commit messages;
v2:
 - A separate patch to change what PA is mapped at relocate_kernel() VA.
 - Improve commit messages;
 - Add Reveiwed-by from Kai;

Kirill A. Shutemov (4):
  x86/mm/ident_map: Fix virtual address wrap to zero
  x86/acpi: Replace manual page table initialization with
    kernel_ident_mapping_init()
  x86/64/kexec: Map original relocate_kernel() in
    init_transition_pgtable()
  x86/64/kexec: Rewrite init_transition_pgtable() with
    kernel_ident_mapping_init()

 arch/x86/include/asm/kexec.h       |  5 +-
 arch/x86/kernel/acpi/madt_wakeup.c | 73 +++++-------------------
 arch/x86/kernel/machine_kexec_64.c | 89 +++++++++++-------------------
 arch/x86/mm/ident_map.c            | 14 +----
 4 files changed, 50 insertions(+), 131 deletions(-)

-- 
2.45.2
Re: [PATCHv4, REBASED 0/4] x86: Reduce code duplication on page table initialization
Posted by Kirill A. Shutemov 4 weeks ago
On Wed, Oct 16, 2024 at 02:14:54PM +0300, Kirill A. Shutemov wrote:
> Use kernel_ident_mapping_init() to initialize kernel page tables where
> possible, replacing manual initialization, reducing code duplication.
> 
> v4:
>  - Reviewed-bys from Kai;
>  - Fix comment in acpi_mp_setup_reset() (Rafael);
> v3:
>  - Reviewed-bys from Tom;
>  - Improve commit messages;
> v2:
>  - A separate patch to change what PA is mapped at relocate_kernel() VA.
>  - Improve commit messages;
>  - Add Reveiwed-by from Kai;
> 
> Kirill A. Shutemov (4):
>   x86/mm/ident_map: Fix virtual address wrap to zero
>   x86/acpi: Replace manual page table initialization with
>     kernel_ident_mapping_init()
>   x86/64/kexec: Map original relocate_kernel() in
>     init_transition_pgtable()
>   x86/64/kexec: Rewrite init_transition_pgtable() with
>     kernel_ident_mapping_init()
> 
>  arch/x86/include/asm/kexec.h       |  5 +-
>  arch/x86/kernel/acpi/madt_wakeup.c | 73 +++++-------------------
>  arch/x86/kernel/machine_kexec_64.c | 89 +++++++++++-------------------
>  arch/x86/mm/ident_map.c            | 14 +----
>  4 files changed, 50 insertions(+), 131 deletions(-)

Any feedback on this series?

-- 
  Kiryl Shutsemau / Kirill A. Shutemov
Re: [PATCHv4, REBASED 0/4] x86: Reduce code duplication on page table initialization
Posted by Dave Hansen 3 weeks, 4 days ago
On 10/29/24 08:09, Kirill A. Shutemov wrote:
> Any feedback on this series?

It's tempting because it removes so much code, but it's also worrying
because these code paths are notoriously hard to test.

I'd be much happier if you'd send this after 6.13-rc1 drops and we give
it as much testing time as possible.