Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1378072
| From | Steve Capper <steve.capper@arm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v16 6/6] arm64, mm, numa: Add NUMA balancing support for arm64. |
| Date | 2016-04-13 18:00 +0200 |
| Message-ID | <rnvmW-3u7-29@gated-at.bofh.it> (permalink) |
| References | <rlNxD-3ez-3@gated-at.bofh.it> <rlNxE-3ez-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Fri, Apr 08, 2016 at 03:50:28PM -0700, David Daney wrote:
> From: Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com>
>
> Enable NUMA balancing for arm64 platforms.
> Add pte, pmd protnone helpers for use by automatic NUMA balancing.
>
> Reviewed-by: Robert Richter <rrichter@cavium.com>
> Signed-off-by: Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com>
> Signed-off-by: David Daney <david.daney@cavium.com>
> ---
> arch/arm64/Kconfig | 1 +
> arch/arm64/include/asm/pgtable.h | 15 +++++++++++++++
> 2 files changed, 16 insertions(+)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 99f9b55..a578080 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -11,6 +11,7 @@ config ARM64
> select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> select ARCH_USE_CMPXCHG_LOCKREF
> select ARCH_SUPPORTS_ATOMIC_RMW
> + select ARCH_SUPPORTS_NUMA_BALANCING
> select ARCH_WANT_OPTIONAL_GPIOLIB
> select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
> select ARCH_WANT_FRAME_POINTERS
> diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
> index 989fef1..89b8f20 100644
> --- a/arch/arm64/include/asm/pgtable.h
> +++ b/arch/arm64/include/asm/pgtable.h
> @@ -272,6 +272,21 @@ static inline pgprot_t mk_sect_prot(pgprot_t prot)
> return __pgprot(pgprot_val(prot) & ~PTE_TABLE_BIT);
> }
>
> +#ifdef CONFIG_NUMA_BALANCING
> +/*
> + * See the comment in include/asm-generic/pgtable.h
> + */
> +static inline int pte_protnone(pte_t pte)
> +{
> + return (pte_val(pte) & (PTE_VALID | PTE_PROT_NONE)) == PTE_PROT_NONE;
> +}
> +
> +static inline int pmd_protnone(pmd_t pmd)
> +{
> + return pte_protnone(pmd_pte(pmd));
> +}
> +#endif
> +
Okay, this looks good to me. If we have a PROT_NONE VMA then this is
caught before going into do_numa_page or do_huge_pmd_numa_page (and
there is a BUG_ON inside these functions to catch stragglers.
I've given this a quick test with a PROT_NONE THP and everything worked
as expected (i.e. NUMA didn't trip up).
Reviewed-by: Steve Capper <steve.capper@arm.com>
> /*
> * THP definitions.
> */
> --
> 1.8.3.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v16 0/6] arm64, numa: Add numa support for arm64 platforms David Daney <ddaney.cavm@gmail.com> - 2016-04-09 01:00 +0200
[PATCH v16 1/6] efi: ARM/arm64: ignore DT memory nodes instead of removing them David Daney <ddaney.cavm@gmail.com> - 2016-04-09 01:00 +0200
Re: [PATCH v16 1/6] efi: ARM/arm64: ignore DT memory nodes instead of removing them Steve Capper <steve.capper@arm.com> - 2016-04-14 13:10 +0200
Re: [PATCH v16 1/6] efi: ARM/arm64: ignore DT memory nodes instead of removing them Ard Biesheuvel <ard.biesheuvel@linaro.org> - 2016-04-14 13:20 +0200
Re: [PATCH v16 1/6] efi: ARM/arm64: ignore DT memory nodes instead of removing them Steve Capper <steve.capper@arm.com> - 2016-04-14 14:10 +0200
Re: [PATCH v16 1/6] efi: ARM/arm64: ignore DT memory nodes instead of removing them Will Deacon <will.deacon@arm.com> - 2016-04-15 16:10 +0200
Re: [PATCH v16 1/6] efi: ARM/arm64: ignore DT memory nodes instead of removing them Matt Fleming <matt@codeblueprint.co.uk> - 2016-04-15 16:10 +0200
Re: [PATCH v16 1/6] efi: ARM/arm64: ignore DT memory nodes instead of removing them Ard Biesheuvel <ard.biesheuvel@linaro.org> - 2016-04-15 16:10 +0200
Re: [PATCH v16 1/6] efi: ARM/arm64: ignore DT memory nodes instead of removing them Will Deacon <will.deacon@arm.com> - 2016-04-15 16:10 +0200
[PATCH v16 6/6] arm64, mm, numa: Add NUMA balancing support for arm64. David Daney <ddaney.cavm@gmail.com> - 2016-04-09 01:00 +0200
Re: [PATCH v16 6/6] arm64, mm, numa: Add NUMA balancing support for arm64. Steve Capper <steve.capper@arm.com> - 2016-04-13 18:00 +0200
[PATCH v16 2/6] Documentation, dt, numa: dt bindings for NUMA. David Daney <ddaney.cavm@gmail.com> - 2016-04-09 01:00 +0200
[PATCH v16 3/6] of, numa: Add NUMA of binding implementation. David Daney <ddaney.cavm@gmail.com> - 2016-04-09 01:00 +0200
csiph-web