[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250402211542.6bfb9ab3a6511ea26ce3cdf8@linux-foundation.org>
Date: Wed, 2 Apr 2025 21:15:42 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Waiman Long <longman@...hat.com>
Cc: Johannes Weiner <hannes@...xchg.org>, Michal Hocko <mhocko@...nel.org>,
Roman Gushchin <roman.gushchin@...ux.dev>, Shakeel Butt
<shakeel.butt@...ux.dev>, Muchun Song <muchun.song@...ux.dev>,
linux-kernel@...r.kernel.org, cgroups@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH] memcg: Don't generate low/min events if either low/min
or elow/emin is 0
On Wed, 2 Apr 2025 23:12:12 -0400 Waiman Long <longman@...hat.com> wrote:
> The test_memcontrol selftest consistently fails its test_memcg_low
> sub-test because of the fact that two of its test child cgroups which
> have a memmory.low of 0 or an effective memory.low of 0 still have low
> events generated for them since mem_cgroup_below_low() use the ">="
> operator when comparing to elow.
>
> The simple fix of changing the operator to ">", however, changes the
> way memory reclaim works quite drastically leading to other failures.
> So we can't do that without some relatively riskier changes in memory
> reclaim.
>
> Another simpler alternative is to avoid reporting below_low failure
> if either memory.low or its effective equivalent is 0 which is done
> by this patch.
>
> With this patch applied, the test_memcg_low sub-test finishes
> successfully without failure in most cases. Though both test_memcg_low
> and test_memcg_min sub-tests may fail occasionally if the memory.current
> values fall outside of the expected ranges.
>
Well, maybe the selftest needs to be changed?
Please describe this patch in terms of "what is wrong with the code at
present" and "how that is fixed" and "what is the impact upon
userspace".
Is this change backwardly compatible with existing userspace?
> To be consistent, similar change is appled to mem_cgroup_below_min()
> as well.
Ditto.
Powered by blists - more mailing lists