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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 43346C27C79 for ; Thu, 20 Jun 2024 06:12:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A56458D00A0; Thu, 20 Jun 2024 02:12:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A06748D0091; Thu, 20 Jun 2024 02:12:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8F4C48D00A0; Thu, 20 Jun 2024 02:12:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 70DFF8D0091 for ; Thu, 20 Jun 2024 02:12:46 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 10B6EA40C2 for ; Thu, 20 Jun 2024 06:12:46 +0000 (UTC) X-FDA: 82250248332.16.9559871 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) by imf14.hostedemail.com (Postfix) with ESMTP id 2A5D2100008 for ; Thu, 20 Jun 2024 06:12:43 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Wxw1yWQJ; spf=pass (imf14.hostedemail.com: domain of yuzhao@google.com designates 209.85.208.52 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718863957; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ojZjb4RYoNn9RkUlQwL4cAo1p0U6fC/Z8le1JTxXLy8=; b=g3dd8ngi/8Ov6KqHWdE3jvYjLlAIWuURUDNsD/4Ay0IGLuPm1GLTrBjTMzS50LiXeO9h3+ 9UuorS+hAq51bnG5YuvL93j+YMQIbsEd7/pDi3YKB1B68AF+eis2nE3kyNX2F6fLxRp9OS nz2FetwLkC6G3jwN9TVSSsLKzJ54WzE= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Wxw1yWQJ; spf=pass (imf14.hostedemail.com: domain of yuzhao@google.com designates 209.85.208.52 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718863957; a=rsa-sha256; cv=none; b=Jh+Ri7P7xpHenzmez+fJFRtCQpllYu/RAtf8Bd0dg4IhYzu/fa+baRen5v0YH7mJsyfO0a s/5G33bEy9P9iNlY8bIBAp+L/LGDOKBL5Gt12WVyCwNo1l+w4KcII861prmjLeiJ8uWSZ4 074DPnXsEktOQMn8PZwtJQ71xnXqOiI= Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-57d00a51b71so22401a12.0 for ; Wed, 19 Jun 2024 23:12:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1718863962; x=1719468762; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ojZjb4RYoNn9RkUlQwL4cAo1p0U6fC/Z8le1JTxXLy8=; b=Wxw1yWQJuRNgifc7rGpLpP1cE00L3XZ4SFZgUARt4KH6V/Vv6M9O4mLdktbFx0pt3F PyphZd5JU5OSidUGk5A+SzUnGbfOaeaIxIaQ4bf1ZL6+HZ2/MgxNVcdtGoSaTx8rH5ey yZepUGc2anWmjebjHwAKJVYBdpzSSwjP3mAFYjIUIr/FzHAiUWcEI8uNeDtbRqF0eB2N UemmbymzOwohpGmDTRqe2HhrLSpkiqchQ38HhWjZlykJYBwRRB7pvk+Lk7ldoC1ES5C9 a7Y27Ccfhhus3b5OxwPDYR8l2A74ZyMiZcdvrXoPOAegekoSCvR5V5NAGkFhRvsWeo7+ +DSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718863962; x=1719468762; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ojZjb4RYoNn9RkUlQwL4cAo1p0U6fC/Z8le1JTxXLy8=; b=vA02VL4RqV7ysIRNtrcOeUZiy6TSVgJJUTss21ngiwKerB8QqW3uLHNlTY55LQqOXh 7/7cgF1zTwiT82kuIwswgJqtulr2BVvDzSZzxo86THTeF6B0GrvzTkN0tZ9RlhGAg/lH 3bhNPOkdLNsD4CIMdtRl682sv99lynMCS14EquzYsNH4Bwx11Do0GHzUeHSCiIpEqZxj 3pywAiaEAumU1KNsKl3bBQ1aXzSvT0H0609T7m+vpfHLhTHH+aPSKGoZzI8TtLCq9ve7 /f6GGAtQ8eutN+hzqdc6tPuK0PWbDbwtEYfIwkRjOlf7M0DT6M3KRZamRNQzJOsqhX3Q l38w== X-Forwarded-Encrypted: i=1; AJvYcCWa1OI2SNcYSQEjsDBYt1aQtfoOekSs7xP7Uppd7u5tzmgmDYPQ1vjzmiwrOAUC5FvH49Sq0PBppI3+MeMm5NLQSpU= X-Gm-Message-State: AOJu0Yw2ISf3Y0FTvmTVaXyKwS0jEqviGDCSiklUTHhlzUWDSYATShZR dx6WbMRuhmkOmpwOTFx2k/Q2Ionjj9EDE4SPevIVI8NJrzrN0gpts4MzPmm9rNTyWU6jPYqh7p+ ok0INa06B7OZLoWNatm6/QOpWzarbfAAvv2aR X-Google-Smtp-Source: AGHT+IELb8eVtZ6ww8aj2w5Do0QHfTsDehfhWAtcTePwnv57N9+e28vxnzXC5Vpw70w6LIGKBaH9PyRZPrLwbCqFg0Y= X-Received: by 2002:a05:6402:4304:b0:57c:b80b:b2f4 with SMTP id 4fb4d7f45d1cf-57d0d6d1871mr297161a12.6.1718863962205; Wed, 19 Jun 2024 23:12:42 -0700 (PDT) MIME-Version: 1.0 References: <413866f2f2d996cfbb5c906467b36c96b1a82e2d.1718690645.git.baolin.wang@linux.alibaba.com> In-Reply-To: <413866f2f2d996cfbb5c906467b36c96b1a82e2d.1718690645.git.baolin.wang@linux.alibaba.com> From: Yu Zhao Date: Thu, 20 Jun 2024 00:12:04 -0600 Message-ID: Subject: Re: [PATCH v2 1/9] mm: vmscan: add validation before spliting shmem large folio To: Baolin Wang Cc: akpm@linux-foundation.org, hughd@google.com, willy@infradead.org, david@redhat.com, wangkefeng.wang@huawei.com, chrisl@kernel.org, ying.huang@intel.com, 21cnbao@gmail.com, ryan.roberts@arm.com, shy828301@gmail.com, ziy@nvidia.com, ioworker0@gmail.com, da.gomez@samsung.com, p.raghav@samsung.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: nprckzhq7onab3twyioa8hxekg9eyciw X-Rspam-User: X-Rspamd-Queue-Id: 2A5D2100008 X-Rspamd-Server: rspam02 X-HE-Tag: 1718863963-551737 X-HE-Meta: U2FsdGVkX1+q8+HExK+qOVpljWEJcGMashEumpjCm9anO7SvpMUowP9jGQaAJsLkNTic/WUFn4h8N+v1Tc/uJcIYJ32EwDextFb6rEZ0ePAkFoHlG7OGlSvN8tA+Lia7bmxGs3lvg6gAQp/PWit5AcPE73XwuXGfliZ+SGe0DilknZbTfcP0exBmqXQfrmKYFKYcaaymh8XO7arqq9SU1fzHSg21rhu448G7ywXZHBF/kjvCSw2EkWiOTAwI0Nb1vTyT9RVWTONMuA8h0DcKV0Qotk4dw9s1tGQ4NCO5daUZfwCaqk1GQAbrlFndXsZ0sHwWxXqTn73qyxVroi4gqHW5ChIEY2hQZdtQQhiHv/mnqnrqBMoAUdj9EQm1vimGExc5WgJqkQiECPEIuUYA+FO2dxignsfx1D6TuiTVLwrNT3wTrW//p2615MDVdjggFH8jx3FexIz6TA2VGN0CyEqZ1IsFRcebhZlMw2cWDSsYpkloqDoSIj+jcRXWCmrYHepLbQ/ouQ7C84I+/L7/Fd143BscXo4hGB7U6JCbg5omfuC7Dsz0kzfUFldUNeVzQuG2uPbZ8utnkjcBReMHH4IskST16cRB90PL/ztNNFw4AD1OapsYUCSouzKkA68te2Rn7IjYyKii8hhQ+hvpUbtmRDYgbui/fFWMzPqtlSK91PLqXveQTQbWABC9WzSnUk2pTBL3i2Ox58fWxUWNPmjjmvY3g3JCEYz3kKcccxOzpndeyWvgW2sEs2xLt2pL+EqKbwzEMi0N2OCeDUZx1NVbxunwjTQLf6DrkhjxIKmru2mqyOSe+SUiWbzIv1szca0++hxfI98rC8mDnMcho2wMYIhjvcSyqm6gkrcODW374dn6avIrzu2QKcjKPGHEn5I75j4VveIk2F5m2VTkq7jU5WgZ4IgbS6wS2T5lWFRZmwpXv2g4CcZXWzQYj9atn8/y2v3kplQfgiuSTr+ jNTxtd8i 9PVU6EWkeTGEchPmmVyrF920i/qS0rpts97Xmc/yl9SMavHCIVoLFbR4lK1krQDPTxqGVMu+Pbwh0Shd9ZF2JdOW09JoSf5Z7anRTT2S2HaWbX52TspIl2nn1oyC20lX7u42DRXC12Y97i+X7dGDuHZ9cE3Xh13yccG9Hg5vTjlCpvEiQfSGi4aY0+Fe0qXR7k+fs 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: List-Subscribe: List-Unsubscribe: On Tue, Jun 18, 2024 at 12:54=E2=80=AFAM Baolin Wang wrote: > > Add swap available space validation before spliting shmem large folio to > avoid redundant split, since we can not write shmem folio to the swap dev= ice > in this case. We don't scan anon LRU unless we know we may be able to swap. Even if there is swap space, we may still not be able to swap. See can_reclaim_anon_pages(). > Signed-off-by: Baolin Wang > --- > mm/vmscan.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 1807e5d95dda..61465f92283f 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -1237,6 +1237,14 @@ static unsigned int shrink_folio_list(struct list_= head *folio_list, > } > } else if (folio_test_swapbacked(folio) && > folio_test_large(folio)) { > + > + /* > + * Do not split shmem folio if no swap memory > + * available. > + */ > + if (!total_swap_pages) > + goto activate_locked; > + > /* Split shmem folio */ > if (split_folio_to_list(folio, folio_list)) > goto keep_locked; > -- > 2.39.3 > >