The reason is the same as in case of tcache: auxiliary kmem allocations, namely radix-tree nodes, are used for storing tswap pages on the host and so belong to the host and reclaimed only on global pressure.
https://jira.sw.ru/browse/PSBM-35205 Signed-off-by: Vladimir Davydov <[email protected]> --- Changes in v2: - Do not account radix_tree_preload either. Actually, in the scope of patch 3 of the series this makes no difference. However, when (if) we make radix_tree_preload memcg-aware, we won't have to change anything in tswap. mm/tswap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/tswap.c b/mm/tswap.c index dc1253f8e5b2..91bee46e7a97 100644 --- a/mm/tswap.c +++ b/mm/tswap.c @@ -16,7 +16,7 @@ #define TSWAP_GFP_MASK (GFP_NOIO | __GFP_NORETRY | __GFP_NOWARN) -static RADIX_TREE(tswap_page_tree, GFP_ATOMIC | __GFP_NOWARN); +static RADIX_TREE(tswap_page_tree, GFP_ATOMIC | __GFP_NOWARN | __GFP_NOACCOUNT); static DEFINE_SPINLOCK(tswap_lock); struct tswap_lru { @@ -69,7 +69,7 @@ static int tswap_insert_page(swp_entry_t entry, struct page *page) { int err; - err = radix_tree_preload(TSWAP_GFP_MASK); + err = radix_tree_preload(TSWAP_GFP_MASK | __GFP_NOACCOUNT); if (err) return err; -- 2.1.4 _______________________________________________ Devel mailing list [email protected] https://lists.openvz.org/mailman/listinfo/devel
