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 22528C2BD09 for ; Mon, 1 Jul 2024 08:48:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B1B056B00B3; Mon, 1 Jul 2024 04:48:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA3C46B00B4; Mon, 1 Jul 2024 04:48:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 91D036B00B5; Mon, 1 Jul 2024 04:48:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 6D0C36B00B3 for ; Mon, 1 Jul 2024 04:48:43 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 13E2E160BB8 for ; Mon, 1 Jul 2024 08:48:43 +0000 (UTC) X-FDA: 82290558126.16.AF3B393 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf15.hostedemail.com (Postfix) with ESMTP id 42DE9A0004 for ; Mon, 1 Jul 2024 08:48:40 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=none; spf=pass (imf15.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719823710; 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; bh=x2ZHfxn+Xxayn65pjIEMx3I3ahFrleXetxeOJUO6JRE=; b=5+nq7E3F7dCQYEHnRWxSS5YzVGYPXHJ0u9gjdEOfOG1exDViRwkkh4j5Nt+gL6G+jSRI4j 4KkTUn8MV4tnh0Hcg0LauzMXcRURvHQddttxocmsGMC/jbkjBCgYVX9T6+A6TCHylRZCcX ruNfoXTjy0ZX1BWYiOH5xkVVcqwv8Ec= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=none; spf=pass (imf15.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719823710; a=rsa-sha256; cv=none; b=DH1Syyl8HIfYaxBbMfFviVXGYERsZDMHpI7y2VLq+ZlAaii6g/bQdsnw8AciOLbAncIdma VxmWEYrQoU/cZp+tKMTbGrPkrwqd2PeNSZIOplUvtd6seQp686rAI7TM7MiJucu9N39vFG OyRSL79jVlowbVRBH7BRdrJT2HEuCkc= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 77313339; Mon, 1 Jul 2024 01:49:04 -0700 (PDT) Received: from [10.57.72.41] (unknown [10.57.72.41]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 98A4B3F766; Mon, 1 Jul 2024 01:48:38 -0700 (PDT) Message-ID: Date: Mon, 1 Jul 2024 09:48:37 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/vmscan: drop checking if _deferred_list is empty before using TTU_SYNC Content-Language: en-GB To: Barry Song <21cnbao@gmail.com>, akpm@linux-foundation.org, linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, Barry Song , David Hildenbrand References: <20240629234155.53524-1-21cnbao@gmail.com> From: Ryan Roberts In-Reply-To: <20240629234155.53524-1-21cnbao@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 42DE9A0004 X-Stat-Signature: ej7u9ujs8nzgxddw6p6ixgwi64hbop6j X-HE-Tag: 1719823720-978896 X-HE-Meta: U2FsdGVkX195G5M8ksnUnla3+45M3h+GZRNT1tm6MnVPFPrqcCbKQF0m29QH+0mwQpey7cs/9ypeoWvCSxlJuLvM0ynSsjv/3tq6sxZlj9/cLRVknRy7uYBcKB0n6C47/uK1wZ21qWXnUT6Ai7XPinyGpzj5U5mKMXPlDIMfTbXI1iXI7oc/tLuk2SweFub9ZfZwYEcqSYxAqBMYx6Gnzy8hInlOFWioWMHriI9fbVYvDCj/zu2H+YdU4ow55vTraafRxw2+t4q1Hw+7fPZ24ho6AFsbzfUlpEu0SUem4xRW/cnqDRB9OHRr0eMBQl4tEtbr2kK+sVHv4Zjsp1qEWG9sWdrAmk54El9b7HYVEFSTQnvIdVQqr3YwTcLgBPKJykfR17MHjHK8aWUNnRtz5z4CHBlkxb38VuekNo0xwt8DlaKkwWNQAVYHbP2QBS0TvcvB6RF/F84aIIPS7k+V6340nAprrwgFTMhLK3EPzwQ9qxpJu/Uc0d9ewnkKShOSChEJvdWUfdxacVzXLzotRvBECCeeCSuto+X7JjyhYba0RbhLQJH6rv3g10srAJKt+D0/jmoYm85YdYlVleAg10s+iqrYt1hjRL07GV42mZ0dKw1HwKiYcIVbNoGrOaVZrsMuTz7bN+97pGlHtyKb9k+JtTpKT6xaYw0VLNw42bqm0AqkKs7lQJt5ScOCkHJ9JhNXXbqY9R+cyS1NluJGUuPO3/VYycIxM4kgxqPpejRdPblLs/YotDOsSl4vm9hVWPQOK4NRsAs193+zRekrPPp8WhSTDW9YMEPT22+tiJAFfVEMfYufCRiewbPwFKMisRJSyRd5ZY9ZzSVnAtX1heBAhQolDDDfeN4diccxlHD92Pqm5Ld9J0TuLtGuHLrm7W+jml+bPez2MUUaLgSMv2KryEnsCZj4yd5mr1Vk5pD25Y6VRDV5FmaVJp/Zd5ffTQVct/GSdA0QqcdHur2 Nn7gpbo2 ktbgb9b9M11EWVEf5j9bcQImchYUkzwqQVdZiaMRwIUtGccLHliFiGKQag8yFQJdUwqSAZdKD7G87GSUUowMV2rOdwgCBizt9UISD/kHwqUbBHBvXcE/EtR6LE2TKNT5pO+y2CXEgmwvuIY2zQNa/QDNQ1kohhoKR46P5Sq9zkINoI3irE7tcZQ6M2EeKIZjv/DPZ6UzSchHpSrHJyvf4gF3B7RgsPsBCHolNwbJp5xfw1nN87q8cTzNRs8DzN0aA+Zf6kb5qWB8B/sn4ZOkEbQwOhiwhlfLlA9rMRlIRMwiFazoGzP+954YXmdltiwcbdbw6ycjIx6jWQEw= 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 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 dropped > 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 values. > */ > - 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 sense to try to get this into the next rc? > flags |= TTU_SYNC; > > try_to_unmap(folio, flags);