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=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 5A5EAC433E2 for ; Wed, 20 May 2020 23:26:15 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 1417B20897 for ; Wed, 20 May 2020 23:26:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=cmpxchg-org.20150623.gappssmtp.com header.i=@cmpxchg-org.20150623.gappssmtp.com header.b="1MBXqpD1" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1417B20897 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=cmpxchg.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 712318000E; Wed, 20 May 2020 19:26:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6752A8000A; Wed, 20 May 2020 19:26:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4A1768000E; Wed, 20 May 2020 19:26:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0057.hostedemail.com [216.40.44.57]) by kanga.kvack.org (Postfix) with ESMTP id 2D56A8000A for ; Wed, 20 May 2020 19:26:11 -0400 (EDT) Received: from smtpin18.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id D837C52C0 for ; Wed, 20 May 2020 23:26:10 +0000 (UTC) X-FDA: 76838682900.18.net90_18d197fc6f70d X-HE-Tag: net90_18d197fc6f70d X-Filterd-Recvd-Size: 5172 Received: from mail-qv1-f66.google.com (mail-qv1-f66.google.com [209.85.219.66]) by imf25.hostedemail.com (Postfix) with ESMTP for ; Wed, 20 May 2020 23:26:10 +0000 (UTC) Received: by mail-qv1-f66.google.com with SMTP id x13so2266690qvr.2 for ; Wed, 20 May 2020 16:26:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YB631ifqXCSgSJTd0qtcdsdE2wZ/BeBb/PETguDBZ3s=; b=1MBXqpD1aFpHw165X+FC9nGMW0T95Jxsnt4XOC7AgQUgsdiHpDYQk/saWpqTNLgFYs PzCCUkT3nRULKqA9705MjHZXPneWXmrgjjaJqGg+zrHZkXdPqXGK8/TGsM+fMxsFcrMC c54J8REBGDNyJTGugU5J1FMAAZzn8mT3e4hWSUHhMQO3zIQ1yRUHndfe+jtJHm+wHSRn zH1QCMOUl4zIikJQpG5bNDC4Ze2Zk0j/yVAiVURjIROF6fYk0pxzFqwXO4U3OsOSsM9B BB8OvWj9BBODjPg7rnIDI/1MSp5ZXWXnz4Wo9kYnQv3PDyzwkhNC20yd32DRo/dvOWpG 031w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YB631ifqXCSgSJTd0qtcdsdE2wZ/BeBb/PETguDBZ3s=; b=lZUYFIpZ+Nfg6KeeJxJ1l2Y+nEMKa/E15GPLDEauY74zxg/aIf0p3KT5/4s9n29b2H ZreAebqoBd1z9XGzZuoHS2aOp5KWFMFYLHNg/UVnAxWIN1xP3SP4sm/zQ3ydS64U25Dn 66xHmLX+2aO+xcKH7wGG2CQ3/6r63x7r12QPH5mGMTnSnGLmeN+rx9e7vwuDFQw3HFyE kfwrJoT++uI6sPpFhjVnF7/bnlVm+jnUlx05jlsX/zHRjfLc6pF26pKSsKKLkeb2gv55 cfpCG4e+IGo+vDPG8IrBxWffmMk+lHEvlVVjBYix3zvP9Dz3388TMV9XDgMZ1K9XH2qW v53g== X-Gm-Message-State: AOAM5329yPPTLJ3g5yMoEquTHfkh/e05HDPbQTYoZeWQ3XfZCp7+grjR jNyxueNU4m/bPHs/fq+/pLBNG5FMYI0= X-Google-Smtp-Source: ABdhPJxLMyX89YOB3AHomG7E8lWZKxV5Wrb3mzIrpS/hIG6SDGi63YgQU4/iwCWZW0KkCgIHwu/ARA== X-Received: by 2002:a0c:ab19:: with SMTP id h25mr7526704qvb.108.1590017169194; Wed, 20 May 2020 16:26:09 -0700 (PDT) Received: from localhost ([2620:10d:c091:480::1:4708]) by smtp.gmail.com with ESMTPSA id 124sm3333412qkn.73.2020.05.20.16.26.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2020 16:26:08 -0700 (PDT) From: Johannes Weiner To: linux-mm@kvack.org Cc: Rik van Riel , Minchan Kim , Michal Hocko , Andrew Morton , Joonsoo Kim , linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: [PATCH 06/14] mm: remove use-once cache bias from LRU balancing Date: Wed, 20 May 2020 19:25:17 -0400 Message-Id: <20200520232525.798933-7-hannes@cmpxchg.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200520232525.798933-1-hannes@cmpxchg.org> References: <20200520232525.798933-1-hannes@cmpxchg.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: When the splitlru patches divided page cache and swap-backed pages into separate LRU lists, the pressure balance between the lists was biased to account for the fact that streaming IO can cause memory pressure with a flood of pages that are used only once. New page cache additions would tip the balance toward the file LRU, and repeat access would neutralize that bias again. This ensured that page reclaim would always go for used-once cache first. Since e9868505987a ("mm,vmscan: only evict file pages when we have plenty"), page reclaim generally skips over swap-backed memory entirely as long as there is used-once cache present, and will apply the LRU balancing when only repeatedly accessed cache pages are left - at which point the previous use-once bias will have been neutralized. This makes the use-once cache balancing bias unnecessary. Signed-off-by: Johannes Weiner Acked-by: Michal Hocko Acked-by: Minchan Kim --- mm/swap.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/mm/swap.c b/mm/swap.c index c93a6c84464c..3b8c81bc93cd 100644 --- a/mm/swap.c +++ b/mm/swap.c @@ -277,7 +277,6 @@ static void __activate_page(struct page *page, struct= lruvec *lruvec, void *arg) { if (PageLRU(page) && !PageActive(page) && !PageUnevictable(page)) { - int file =3D page_is_file_lru(page); int lru =3D page_lru_base_type(page); =20 del_page_from_lru_list(page, lruvec, lru); @@ -287,7 +286,6 @@ static void __activate_page(struct page *page, struct= lruvec *lruvec, trace_mm_lru_activate(page); =20 __count_vm_event(PGACTIVATE); - update_page_reclaim_stat(lruvec, file, 1, hpage_nr_pages(page)); } } =20 @@ -936,9 +934,6 @@ static void __pagevec_lru_add_fn(struct page *page, s= truct lruvec *lruvec, =20 if (page_evictable(page)) { lru =3D page_lru(page); - update_page_reclaim_stat(lruvec, is_file_lru(lru), - PageActive(page), - hpage_nr_pages(page)); if (was_unevictable) count_vm_event(UNEVICTABLE_PGRESCUED); } else { --=20 2.26.2