Received: by 2002:ac0:b08d:0:0:0:0:0 with SMTP id l13csp1710080imc; Fri, 22 Feb 2019 09:44:41 -0800 (PST) X-Google-Smtp-Source: AHgI3IaiPwy//lZHnPAStLHJshhh/TXMwaFi7FfSFP5wlwMvu3yQO/ptHKXpfFi1RKUrHiD+N1p6 X-Received: by 2002:a17:902:241:: with SMTP id 59mr5267549plc.72.1550857481594; Fri, 22 Feb 2019 09:44:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550857481; cv=none; d=google.com; s=arc-20160816; b=xgS5V83UMWpcMt1A0OVhy1iq19ITvO9+U4vMnM4byUDe8VRPz8N62KKot5ZdrFPwb5 QfLXz9ITVKwWUnNruQ6rn/R551Oj9yMu0OMfJw3mzupT0NaXU1YfaAXvTH8AC4ZU1dUh gV8j9Jbh+LnEEZgpYSG4WRIEyK9QpPkmD23JL38UQFLLUZJkVNSdnZt8qQYnf8/bH9tO Vige3Naje+7oyRLGBQKTpI2tIWE3PckuuGJCk1Segh6tzplML3jI7pClF3a5706blsyg E8S3OXNN+yPKtwi/W/pF82O35Ut8liTQR473iW0He+EVxcFwvxRdqa52zjHXKsPQc97r y6xQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=0J6EKeVNPV4DTtVCERPQrtxws2K83/Ht9c8m80Bex9g=; b=q9Rlfq2T8IMTDOdxXVGg/jwvXIL1gkALGBSGTZ1jQSZzDztCDnU9vFo+dutE6qMjdJ qZxKq6w4AY6OO08Ehdp+UmpvuyHH9MYclirKBv7hILDcjYnB3NhAsJnxEKlb/EcXauWe 3PBO4pxVei+Zjtxty8n7ufTSfh9rpw9p6he/sQWkX9CJ9Aw5d0Nc7mVjcBBf9bCyFRoo 26i3sIsYAqC2xDiuLQxpIU73cJxcRJMKiZP0qw5FYnSDlMBqvKWDuNkpSBlu9qEdxkM0 1FszDgxlmMFV10BiE8YHJeCibuEOrCj+fRBVaww2KZP+hRP41aTyvX2gTkSUkmB47Sj7 WOGA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z20si1925800pfl.3.2019.02.22.09.44.26; Fri, 22 Feb 2019 09:44:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727520AbfBVRnr (ORCPT + 99 others); Fri, 22 Feb 2019 12:43:47 -0500 Received: from relay.sw.ru ([185.231.240.75]:59684 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726355AbfBVRn2 (ORCPT ); Fri, 22 Feb 2019 12:43:28 -0500 Received: from [172.16.25.12] (helo=i7.sw.ru) by relay.sw.ru with esmtp (Exim 4.91) (envelope-from ) id 1gxEr3-00010r-J9; Fri, 22 Feb 2019 20:43:21 +0300 From: Andrey Ryabinin To: Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrey Ryabinin , Johannes Weiner , Michal Hocko , Vlastimil Babka , Rik van Riel , Mel Gorman Subject: [PATCH 5/5] mm/vmscan: don't forcely shrink active anon lru list Date: Fri, 22 Feb 2019 20:43:37 +0300 Message-Id: <20190222174337.26390-5-aryabinin@virtuozzo.com> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20190222174337.26390-1-aryabinin@virtuozzo.com> References: <20190222174337.26390-1-aryabinin@virtuozzo.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org shrink_node_memcg() always forcely shrink active anon list. This doesn't seem like correct behavior. If system/memcg has no swap, it's absolutely pointless to rebalance anon lru lists. And in case we did scan the active anon list above, it's unclear why would we need this additional force scan. If there are cases when we want more aggressive scan of the anon lru we should just change the scan target in get_scan_count() (and better explain such cases in the comments). Remove this force shrink and let get_scan_count() to decide how much of active anon we want to shrink. Signed-off-by: Andrey Ryabinin Cc: Johannes Weiner Cc: Michal Hocko Cc: Vlastimil Babka Cc: Rik van Riel Cc: Mel Gorman --- mm/vmscan.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index 07f74e9507b6..efd10d6b9510 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2563,8 +2563,8 @@ static void shrink_node_memcg(struct pglist_data *pgdat, struct mem_cgroup *memc sc->priority == DEF_PRIORITY); blk_start_plug(&plug); - while (nr[LRU_INACTIVE_ANON] || nr[LRU_ACTIVE_FILE] || - nr[LRU_INACTIVE_FILE]) { + while (nr[LRU_ACTIVE_ANON] || nr[LRU_INACTIVE_ANON] || + nr[LRU_ACTIVE_FILE] || nr[LRU_INACTIVE_FILE]) { unsigned long nr_anon, nr_file, percentage; unsigned long nr_scanned; @@ -2636,14 +2636,6 @@ static void shrink_node_memcg(struct pglist_data *pgdat, struct mem_cgroup *memc } blk_finish_plug(&plug); sc->nr_reclaimed += nr_reclaimed; - - /* - * Even if we did not try to evict anon pages at all, we want to - * rebalance the anon lru active/inactive ratio. - */ - if (inactive_list_is_low(lruvec, false, memcg, sc, true)) - shrink_active_list(SWAP_CLUSTER_MAX, lruvec, - sc, LRU_ACTIVE_ANON); } /* Use reclaim/compaction for costly allocs or under memory pressure */ -- 2.19.2