Thread (10 messages) 10 messages, 3 authors, 2021-10-28

Re: [RFC PATCH] mm: have kswapd only reclaiming use min protection on memcg

From: Zhaoyang Huang <hidden>
Date: 2021-10-27 09:20:21
Also in: lkml

On Wed, Oct 27, 2021 at 4:26 PM Michal Hocko [off-list ref] wrote:
On Wed 27-10-21 15:46:19, Zhaoyang Huang wrote:
quoted
On Wed, Oct 27, 2021 at 3:20 PM Michal Hocko [off-list ref] wrote:
quoted
On Wed 27-10-21 15:01:50, Huangzhaoyang wrote:
quoted
From: Zhaoyang Huang <redacted>

For the kswapd only reclaiming, there is no chance to try again on
this group while direct reclaim has. fix it by judging gfp flag.
There is no problem description (same as in your last submissions. Have
you looked at the patch submission documentation as recommended
previously?).

Also this patch doesn't make any sense. Both direct reclaim and kswapd
use a gfp mask which contains __GFP_DIRECT_RECLAIM (see balance_pgdat
for the kswapd part)..
ok, but how does the reclaiming try with memcg's min protection on the
alloc without __GFP_DIRECT_RECLAIM?
I do not follow. There is no need to protect memcg if the allocation
request doesn't have __GFP_DIRECT_RECLAIM because that would fail the
charge if a hard limit is reached, see try_charge_memcg and
gfpflags_allow_blocking check.

Background reclaim, on the other hand never breaches reclaim protection.

What is the actual problem you want to solve?
Imagine there is an allocation with gfp_mask & ~GFP_DIRECT_RECLAIM and
all processes are under cgroups. Kswapd is the only hope here which
however has a low efficiency of get_scan_count. I would like to have
kswapd work as direct reclaim in 2nd round which will have
protection=memory.min.
--
Michal Hocko
SUSE Labs
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help