lkml.org 
[lkml]   [2022]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/4] mm/memcg: use NUMA_NO_NODE to indicate allocation from unspecified node
    On Fri 14-01-22 00:29:37, Wei Yang wrote:
    > On Wed, Jan 12, 2022 at 09:56:15AM +0100, Michal Hocko wrote:
    > >On Wed 12-01-22 00:46:34, Wei Yang wrote:
    > >> On Tue, Jan 11, 2022 at 09:40:20AM +0100, Michal Hocko wrote:
    > >> >On Tue 11-01-22 01:02:59, Wei Yang wrote:
    > >> >> Instead of use "-1", let's use NUMA_NO_NODE for consistency.
    > >> >>
    > >> >> Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
    > >> >
    > >> >I am not really sure this is worth it. After the merge window I plan to
    > >> >post http://lkml.kernel.org/r/20211214100732.26335-1-mhocko@kernel.org.
    > >>
    > >> Give me some time to understand it :-)
    > >
    > >Just for the record, here is what I have put on top of that series:
    >
    > Ok, I got what you try to resolve. I am ok with the following change except
    > one point.
    >
    > >---
    > >>From b7195eba02fe6308a6927450f4630057c05e808e Mon Sep 17 00:00:00 2001
    > >From: Wei Yang <richard.weiyang@gmail.com>
    > >Date: Tue, 11 Jan 2022 09:45:25 +0100
    > >Subject: [PATCH] memcg: do not tweak node in alloc_mem_cgroup_per_node_info
    > >
    > >alloc_mem_cgroup_per_node_info is allocated for each possible node and
    > >this used to be a problem because not !node_online nodes didn't have
    > >appropriate data structure allocated. This has changed by "mm: handle
    > >uninitialized numa nodes gracefully" so we can drop the special casing
    > >here.
    > >
    > >Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
    > >Signed-off-by: Michal Hocko <mhocko@suse.com>
    > >---
    > > mm/memcontrol.c | 14 ++------------
    > > 1 file changed, 2 insertions(+), 12 deletions(-)
    > >
    > >diff --git a/mm/memcontrol.c b/mm/memcontrol.c
    > >index 781605e92015..ed19a21ee14e 100644
    > >--- a/mm/memcontrol.c
    > >+++ b/mm/memcontrol.c
    > >@@ -5044,18 +5044,8 @@ struct mem_cgroup *mem_cgroup_from_id(unsigned short id)
    > > static int alloc_mem_cgroup_per_node_info(struct mem_cgroup *memcg, int node)
    > > {
    > > struct mem_cgroup_per_node *pn;
    > >- int tmp = node;
    > >- /*
    > >- * This routine is called against possible nodes.
    > >- * But it's BUG to call kmalloc() against offline node.
    > >- *
    > >- * TODO: this routine can waste much memory for nodes which will
    > >- * never be onlined. It's better to use memory hotplug callback
    > >- * function.
    > >- */
    >
    > Do you think this TODO is not related to this change?

    It is not really related but I am not sure how useful it is. Essentially
    any allocation that is per-possible node is in the same situation and if
    we really need to deal with large and sparse possible nodes masks.

    If you want me to keep the TODO I will do it though.

    --
    Michal Hocko
    SUSE Labs

    \
     
     \ /
      Last update: 2022-01-14 09:53    [W:3.719 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site