Re: WARNINGs in set_task_reclaim_state with memory cgroup andfullmemory usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 24 Aug 2019 16:15:38 +0800 Yafang Shao wrote:
> 
> The memcg soft reclaim is called from kswapd reclam path and direct
> reclaim path,
> so why not pass the scan_control from the callsite in these two
> reclaim paths and use it in memcg soft reclaim ?
> Seems there's no specially reason that we must introduce a new
> scan_control here.
> 
To protect memcg from being over reclaimed?
Victim memcg is selected one after another in a fair way, and punished
by reclaiming one memcg a round no more than nr_to_reclaim ==
SWAP_CLUSTER_MAX pages. And so is the flip-flop from global to memcg
reclaiming. We can see similar protection activities in
commit a394cb8ee632 ("memcg,vmscan: do not break out targeted reclaim
without reclaimed pages") and
commit 2bb0f34fe3c1 ("mm: vmscan: do not iterate all mem cgroups for
global direct reclaim").

No preference seems in either way except for retaining
nr_to_reclaim == SWAP_CLUSTER_MAX and target_mem_cgroup == memcg.
> 
> I have checked the hisotry why this order check is introduced here.
> The first commit is 4e41695356fb ("memory controller: soft limit
> reclaim on contention"),
> but it didn't explained why.
> At the first glance it is reasonable to remove it, but we should
> understand why it was introduced at the first place.

Reclaiming order can not make much sense in soft-limit reclaiming
under the current protection.

Thanks to Adric Blake again.

Hillf





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux