From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-23.3 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E8FFDC4338F for ; Sat, 7 Aug 2021 01:01:06 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7B11E611C3 for ; Sat, 7 Aug 2021 01:01:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7B11E611C3 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 758446B006C; Fri, 6 Aug 2021 21:01:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7083D8D0001; Fri, 6 Aug 2021 21:01:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5F60C6B0072; Fri, 6 Aug 2021 21:01:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0227.hostedemail.com [216.40.44.227]) by kanga.kvack.org (Postfix) with ESMTP id 492D96B006C for ; Fri, 6 Aug 2021 21:01:05 -0400 (EDT) Received: from smtpin28.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id D061020BCE for ; Sat, 7 Aug 2021 01:01:04 +0000 (UTC) X-FDA: 78446480448.28.0EAFAF1 Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182]) by imf14.hostedemail.com (Postfix) with ESMTP id 95639601191D for ; Sat, 7 Aug 2021 01:01:04 +0000 (UTC) Received: by mail-lj1-f182.google.com with SMTP id o10so14374482ljp.0 for ; Fri, 06 Aug 2021 18:01:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=lFDTbK4kGubvDTyFFXN3Ym+4Q093+Na93/G8Bi3cS7Y=; b=mCJbnKvLyEzDA6Cn+iY7Em+qPhsjpXa35c4YZ3tPOVSxV8PBNCDEp4UZYCkweIEP1w ZCiqocBVjnSqOXDak709uHM3k1oeHnIDr0E4MJtV9MWGOdhm4L3sPfbzyZT3X+D1eEMQ Dxgh4Ob3VChTev2EhE5PWaNjti+LKd0x1bHcdtR5mDFQUBjsXdJd8kzFhIf835E2W6av hpEhXS96oZSr9Z172xksyL2DOk8TcorIyBgrTuCbQiMssxzqdSUtisFEsMyNQ+3Vzz7o tFEs21rmI2n8WycYzqP4N3lVNolh4ZhiEUJ8xMw+tOGLSVwEeLTok/D/r5iJDkaDW6sl 7cbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=lFDTbK4kGubvDTyFFXN3Ym+4Q093+Na93/G8Bi3cS7Y=; b=R/9Dz1wZWTfMFh3bqXVeQhUtfny7Rg3Y7M2weDzSCekgXo0WuY50b14y7OdlUNOFN6 Tvk3DFeNQItziXB/UmYk7Cc7HzjtktN0q+NCPd6JrpzhT5HFtrvXk6sqdxnkQwToLevX 5P7rCLh6k8XIELU6XJQV7u54LIWVFSOc3LUc4fOB8o+hbibZJNkQb0+dnNAOtxTrUCGJ c3ZfhLYoc+pAGXj3mH5kgIeLjTBgIyy12YmeHQychMujHwS1u9zFYnZxXW0pSGA7u3z2 rIJl1DxvA0owCMJXJllTDjp179XSSLO9tDHoMzKhoVnMMSgoHm9BxeO+Cc1hJ9k7BsGE KtOQ== X-Gm-Message-State: AOAM532W7xGFUQJECG9rF4/KNQJoc9ZAdtafmX9BozMxEzJOmjT9X09U +WiZI+dUmzX8ViYUDAm1Qr3HJlGOuPXTU2AdEHrZ7g== X-Google-Smtp-Source: ABdhPJzjxlGMC3Z5dtOugUnvqGp5PUm36eDXO4XwC+zCsv6WV6IB0+TnX5ciL+7ETNK8DJefYv5a2mxkTufwBOa3B8o= X-Received: by 2002:a05:651c:906:: with SMTP id e6mr8043153ljq.160.1628298062735; Fri, 06 Aug 2021 18:01:02 -0700 (PDT) MIME-Version: 1.0 References: <20210806231701.106980-1-npache@redhat.com> In-Reply-To: <20210806231701.106980-1-npache@redhat.com> From: Shakeel Butt Date: Fri, 6 Aug 2021 18:00:51 -0700 Message-ID: Subject: Re: [PATCH] vm_swappiness=0 should still try to avoid swapping anon memory To: Nico Pache Cc: Linux MM , Andrew Morton , LKML , Johannes Weiner , Rafael Aquini Content-Type: text/plain; charset="UTF-8" Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20161025 header.b=mCJbnKvL; spf=pass (imf14.hostedemail.com: domain of shakeelb@google.com designates 209.85.208.182 as permitted sender) smtp.mailfrom=shakeelb@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 95639601191D X-Stat-Signature: qt6m1yy4xswt4urdh3gybn9wg3oihob8 X-HE-Tag: 1628298064-303739 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Aug 6, 2021 at 4:17 PM Nico Pache wrote: > > Since commit b91ac374346b ("mm: vmscan: enforce inactive:active ratio at the > reclaim root") swappiness can start prematurely swapping anon memory. > This is due to the assumption that refaulting anon should always allow > the shrinker to target anon memory. Add a check for vm_swappiness being > >0 before indiscriminately targeting Anon. Did you actually observe this behavior? > > Signed-off-by: Nico Pache > --- > mm/vmscan.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 4620df62f0ff..8b932ff72e37 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -2909,8 +2909,8 @@ static void shrink_node(pg_data_t *pgdat, struct scan_control *sc) > > refaults = lruvec_page_state(target_lruvec, > WORKINGSET_ACTIVATE_ANON); > - if (refaults != target_lruvec->refaults[0] || > - inactive_is_low(target_lruvec, LRU_INACTIVE_ANON)) > + if (vm_swappiness && (refaults != target_lruvec->refaults[0] || > + inactive_is_low(target_lruvec, LRU_INACTIVE_ANON))) If you are really seeing the said behavior then why will this fix it. This is just about deactivating active anon LRU. I would rather look at get_scan_count() to check why swappiness = 0 is still letting the kernel to scan anon LRU. BTW in cgroup v1, the memcg can overwrite their swappiness which will be preferred over system vm_swappiness. Did you set system level swappiness or memcg one? > sc->may_deactivate |= DEACTIVATE_ANON; > else > sc->may_deactivate &= ~DEACTIVATE_ANON; > -- > 2.31.1 >