-
由 Jan Kara 提交于
Currently, drop_caches are reclaiming node-by-node, looping on each node until reclaim could not make progress. This can however leave quite some slab entries (such as filesystem inodes) unreclaimed if objects say on node 1 keep objects on node 0 pinned. So move the "loop until no progress" loop to the node-by-node iteration to retry reclaim also on other nodes if reclaim on some nodes made progress. This fixes problem when drop_caches was not reclaiming lots of otherwise perfectly fine to reclaim inodes. Link: https://lkml.kernel.org/r/20221115123255.12559-1-jack@suse.czSigned-off-by: NJan Kara <jack@suse.cz> Reported-by: NYou Zhou <you.zhou@intel.com> Reported-by: NPengfei Xu <pengfei.xu@intel.com> Tested-by: NPengfei Xu <pengfei.xu@intel.com> Reviewed-by: NShakeel Butt <shakeelb@google.com> Cc: Vladimir Davydov <vdavydov.dev@gmail.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
e83b39d6