lkml.org 
[lkml]   [2018]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH 1/2] arm64: avoid alloc memory on offline node
    Date
    Punit Agrawal <punit.agrawal@arm.com> writes:


    [...]

    >
    > CONFIG_HAVE_MEMORYLESS node is not enabled on arm64 which means we end
    > up returning the original node in the fallback path.
    >
    > Xie, does the below patch help? I can submit a proper patch if this
    > fixes the issue for you.
    >
    > -- >8 --
    > Subject: [PATCH] arm64/numa: Enable memoryless numa nodes
    >
    > Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
    > ---
    > arch/arm64/Kconfig | 4 ++++
    > arch/arm64/mm/numa.c | 2 ++
    > 2 files changed, 6 insertions(+)
    >
    > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
    > index eb2cf4938f6d..5317e9aa93ab 100644
    > --- a/arch/arm64/Kconfig
    > +++ b/arch/arm64/Kconfig
    > @@ -756,6 +756,10 @@ config USE_PERCPU_NUMA_NODE_ID
    > def_bool y
    > depends on NUMA
    >
    > +config HAVE_MEMORYLESS_NODES
    > + def_bool y
    > + depends on NUMA
    > +
    > config HAVE_SETUP_PER_CPU_AREA
    > def_bool y
    > depends on NUMA
    > diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c
    > index dad128ba98bf..c699dcfe93de 100644
    > --- a/arch/arm64/mm/numa.c
    > +++ b/arch/arm64/mm/numa.c
    > @@ -73,6 +73,8 @@ EXPORT_SYMBOL(cpumask_of_node);
    > static void map_cpu_to_node(unsigned int cpu, int nid)
    > {
    > set_cpu_numa_node(cpu, nid);
    > + set_numa_mem(local_memory_node(nid));

    Argh, this should be

    set_cpu_numa_mem(cpu, local_memory_node(nid));

    There is not guarantee that map_cpu_to_node() will be called on the
    local cpu.

    Hanjun, Xie - can you try with the update please?

    Thanks,
    Punit

    > +
    > if (nid >= 0)
    > cpumask_set_cpu(cpu, node_to_cpumask_map[nid]);
    > }

    \
     
     \ /
      Last update: 2018-06-13 19:39    [W:4.813 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site