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 BED0AC2BD09 for ; Mon, 1 Jul 2024 09:35:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 51B806B00AC; Mon, 1 Jul 2024 05:35:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4A4136B00AD; Mon, 1 Jul 2024 05:35:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31DE26B00B5; Mon, 1 Jul 2024 05:35:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 10DC36B00AC for ; Mon, 1 Jul 2024 05:35:59 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id CD58F1C18FC for ; Mon, 1 Jul 2024 09:35:58 +0000 (UTC) X-FDA: 82290677196.29.14022E8 Received: from mail-vk1-f180.google.com (mail-vk1-f180.google.com [209.85.221.180]) by imf25.hostedemail.com (Postfix) with ESMTP id 0E969A0014 for ; Mon, 1 Jul 2024 09:35:56 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=a+QYLjvP; spf=pass (imf25.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.180 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719826546; 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=xSUOWCJo2wOKRUZ2PTRrAMpOyQfEQtWBInes4peI6eQ=; b=opeA3HXYvX4olqB27dgxIl1OMaUSusb2zXbbSbKs+qpo6qEj2XTO23x2OltJRuu1vfj6b4 SDZIdrCdg30+kGP/+bb1jvqlIAnwdRML0UncoN58hsnvOmqGhZtYngQwXLXyPophI4aK61 gIvXDdMlCS3cCuYyFLWpsVHNxBMbc+s= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=a+QYLjvP; spf=pass (imf25.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.180 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719826546; a=rsa-sha256; cv=none; b=72t1MWbcJtlnbrluR0/G2TQBdxHUNR8kLcVzmo2WevrjbZR+uIbcDuQKTOwUMNU0C7ZJKT U8K71FGjs3f3rMV5TTdUegEPAQre2auKKz+XEmSCirlF3NiAexd1fBw4vxlUkf+xm4Z9C1 LvUfNnnwhqvqwDzKvpeWMFw9eDl9tMk= Received: by mail-vk1-f180.google.com with SMTP id 71dfb90a1353d-4ef56bdc3fcso1300066e0c.2 for ; Mon, 01 Jul 2024 02:35:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719826556; x=1720431356; 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=xSUOWCJo2wOKRUZ2PTRrAMpOyQfEQtWBInes4peI6eQ=; b=a+QYLjvP/CKTMyZsA0SG4hlELS3/pGQQUVXFbXNbLCG7kMz+CwDjMEM3dqawBykEsD +iO3t2fMLj5exniY+xYOXNd+UgaityCHS/Gpnql70cRC0FFIEfyR6FtrnMdTOL4i7tvS agkXHy4g7JHwLw30drmkLCl1AN0zcIfbrIsakz/eUiH2L0phTI5QiU0PXRuSJf3q2FQl Jz0qV3JKYtIpFKNpjIVeWWjm0bTTziA/QOUCfOhnDWoMqEPwDJ3U3qIho/SW2N/mvZWz 3DRYjuQokcgPVzCcWOzNxmvKlpihRaEUPfsQeZmnKctkSa/hvgeOpPvjGWDJdlC04YQc wing== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719826556; x=1720431356; 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=xSUOWCJo2wOKRUZ2PTRrAMpOyQfEQtWBInes4peI6eQ=; b=gS2KTwWbo8RMmX+ZXgyCJth08ZFN/7cxiiKbsa/xEfwiue3b6/S7XXiwSKnGKfc80O Wwmrx/a/EuINSGD7+exZI7VbipdtlG1Gtqu49TAiIzyTHOcjFWi83LHkdei+Zqr1ZJsi JeoAbJQlrFouB5UlFLX5nCz59BB4Elt6UEEHbVQnpGFtBiohcb5rtxebFQdsQUK45lIz oS7d5hZ2z32KSf13hU5hcmQ5U8+hjO+oH5mPZaSZNd/Z4O125alTeVCz+2z8SX8jV2nc nJGpyZxJoNp7Ee/+qMpvPDDWOY14lM0pXz5arV2KTST+bQK/wP+EthLfFpAi0+dEYXJG bkkA== X-Forwarded-Encrypted: i=1; AJvYcCXs4xbf/GMOJtmTpxzEa36Yn7Bbqg/b7wQZUT7Q/MVaMvrGl3GvMEsYPPSH49WI78/JfQViqjqJ1qxfPp5zHhWgfjo= X-Gm-Message-State: AOJu0YxfyWTDR8UcZDfYrh4cwM9DzkTQ3+v1HE1diM55/UWftxBdUjSv VuHGjPo72204+teqpu2q1myIrV1HZeYeZxu5IvQaAu/jw76xqGGl989O7S0xQeUlluUVssxH1Sc Lto7Lr7YMNF1ZsuxHdDR7iBjwyjU= X-Google-Smtp-Source: AGHT+IF8FD5RE6recsa0PMT5qKPJrkH2JQiad7QESmZpBarzYZLG3dHfhHu5YieodPW/N+CbkKJ7lY7KHy9FJkr3H6Q= X-Received: by 2002:a05:6122:d28:b0:4ed:682:7496 with SMTP id 71dfb90a1353d-4f2a5705bc3mr7133420e0c.12.1719826554575; Mon, 01 Jul 2024 02:35:54 -0700 (PDT) MIME-Version: 1.0 References: <20240629234155.53524-1-21cnbao@gmail.com> In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Mon, 1 Jul 2024 21:35:41 +1200 Message-ID: Subject: Re: [PATCH] mm/vmscan: drop checking if _deferred_list is empty before using TTU_SYNC To: Ryan Roberts Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Barry Song , David Hildenbrand Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 0E969A0014 X-Stat-Signature: dfr7gmpr7xiducoz9pikg5bnygabmznt X-HE-Tag: 1719826556-864360 X-HE-Meta: U2FsdGVkX183xdcAvf5Rnyf0LOkjug2jVTy5ZpXADa20wsRWdC+aiJ5w3LUpqFHQqsJBk9lrUDk56bQzlIl5V9FzqmTnuwHWtqCNhT8d/IEGxY9mn0pBSI/Hwt9edBP1aQfVJvQG1I4UtR4n0LCxNDbZB9y/rrm46FVcZ45i1jaUzqv+KiyJzhabjPkcCXmh+clP6F8XEUAIMYK+OFvzzxqDP6FU0a+XpjXVOAzqU2CLrJe9zqb++k8uuvW0Xy8QmxzShpiwG4TrDC8Bg8g6B5CpQIQ0OaX0slsf61NqXWcZ8OayCP0poZL+W+KEko0bGxmtjJCEm5rEaAvCe335dnWe1Y1aTmU3wvWbTWEJYSAcpILTlp0R+Q79FaoEbtVfhyDMVBB4IrLknun20+OPoI7/ORaQNSFWGMgwCGyfBdVkYE0VPgc79B/jXTqJn86eYVDxOnMGMQU+vrnlE0xWRHzPf1X1RLM0rBwzXT2eBWAyr4tqM+1cqObVfFMg9ASl1gZKwvp2jRcAQryFNNiijRUp5fE8o+oBI+ldknMLMRaDXQJNosdM13dvspt2nnCFe3Z0KC0g3vqwDrecD0hVm5jh5UUZIVGjYxfShA+JvAAFKCNNqN7ChYRdylJNHVjAvSnJMkDaXivny1gwj0rCN+W/FdQBo0oYEnmttMR+Z5Ll6lroY/Yroy0Sy5GeoNln3qHG0TlE+W2Duq+Mpb2HA5zNRrrkuUeDh8NkB9p5AV5nNn+YZRrHvQyk5fxVck5j8WazQrCZ/N2hwoKpdxr/8GUQgibwnZs61uJUEAwmsQhLUuTqw4V80KPkVOzclXRwU3ukV98yI7VAEqF5bfE3iW15FPpKxjEYkeqTS145K6XMQDeTa2ukYe4Mq91clQCxTI20MIcBUKii5PI1frS+I8Qcjcn5FvdSsGZrbhkau+XtIrlWRQf8krCxFbAscbdLElIm1KqK5xXOJAFlQgv OceVwx/k K5gJ17KpvJphTVRYrj0NIQ6sij1iv3HCKLMUSXwj/q9xCN46No7iD4S9/CTW51maGx+v+XEiFPohcuwescaA/XwAdxwQD/n0xdJzvH8UR86W4rsaidqnrdPBQkGL7O8G3IZOOvf94H9FTz+CjUkLgUn7PIHoFrnwV1HybfE5cu4Imh+W2YTKZQBWF/dwNp2wcU3q2HZRsNHHokJcQ6uwlGve/WL46sAS3kCvFTEmGc53VYPSUWF8oVUEuVJCTH6v0OOGEyIfG9m44C6LdKhIf/4hwBFxqPU/KujNQ424qdX9V+fxIPneCf1wWXjpqttdOYXtYdq7QJg5e2ibD/qYYiAB1Vl4kkGmet8wZHeV2NfC85W7bfIthO/4lDd0bCYoZm4o/dbknzsWSYkP9pGspnh9waOPFw3NmnN6aW2GCCE4F0A6NF10njCSHa67C3qJwk5oVB5Hhy3en4jEz4RovdkHfmDexxLv9GERlq7r3A3ayEoo= 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 Mon, Jul 1, 2024 at 8:48=E2=80=AFPM Ryan Roberts = wrote: > > On 30/06/2024 00:41, Barry Song wrote: > > From: Barry Song > > > > The optimization of list_empty(&folio->_deferred_list) aimed to prevent > > increasing the PTL duration when a large folio is partially unmapped, > > for example, from subpage 0 to subpage (nr - 2). > > > > But Ryan's commit 5ed890ce5147 ("mm: vmscan: avoid split during > > shrink_folio_list()") actually splits this kind of large folios. This > > makes the "optimization" useless. > > > > Signed-off-by: Barry Song > > Cc: David Hildenbrand > > Cc: Ryan Roberts > > Reviewed-by: Ryan Roberts > > > --- > > -v1 > > * I remember David and Ryan once suggested that this check could be dr= opped > > while the patch was being pulled into mm-unstable. However, for some= reason, > > I forgot to request squashing this change. > > > > mm/vmscan.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mm/vmscan.c b/mm/vmscan.c > > index 3d4c681c6d40..0761f91b407f 100644 > > --- a/mm/vmscan.c > > +++ b/mm/vmscan.c > > @@ -1291,7 +1291,7 @@ static unsigned int shrink_folio_list(struct list= _head *folio_list, > > * try_to_unmap acquire PTL from the first PTE, > > * eliminating the influence of temporary PTE val= ues. > > */ > > - if (folio_test_large(folio) && list_empty(&folio-= >_deferred_list)) > > + if (folio_test_large(folio)) > > As it stands, the list_empty() technically needs a data_race() annotation= . I > think your original patch went into v6.10-rc1? If so, perhaps it makes se= nse to > try to get this into the next rc? Either way is fine. Hi Andrew, if you include it for the next RC, could you please add this tag? Fixes: 73bc32875ee9 ("mm: hold PTL from the first PTE while reclaiming a large folio") And an additional changelog: Additionally, the list_empty() technically requires a data_race() annotatio= n. > > > flags |=3D TTU_SYNC; > > > > try_to_unmap(folio, flags); > Thanks Barry