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 AAA5CC27C55 for ; Tue, 11 Jun 2024 02:59:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3BA0B6B00A2; Mon, 10 Jun 2024 22:59:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 368F36B00A3; Mon, 10 Jun 2024 22:59:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 20A266B00A4; Mon, 10 Jun 2024 22:59:36 -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 02FAA6B00A2 for ; Mon, 10 Jun 2024 22:59:35 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A5D1D160D23 for ; Tue, 11 Jun 2024 02:59:35 +0000 (UTC) X-FDA: 82217102310.30.EE0CDD5 Received: from out30-101.freemail.mail.aliyun.com (out30-101.freemail.mail.aliyun.com [115.124.30.101]) by imf07.hostedemail.com (Postfix) with ESMTP id 0BC354000F for ; Tue, 11 Jun 2024 02:59:32 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=ERtlFG9u; spf=pass (imf07.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.101 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718074774; 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=jqbfjcIqKsbhmmZ6dLRwAkOAJpLyJkndAwkDmIiGK+Q=; b=rYxAlL5Sfwm7qq+cr0oNFPjs2eBtZf2/NRc9adL4Z5LrGUelFHPkkPv2vG/Db8/0F4taBH 0lTYwBy//qB/LiaETr/07tshqWnlTDq6yL1Vrw9dO9fVyHiRTmntfBMSOJKP1zEl84dmpa RzscaTvN8Sy/qjhtFWWN6jh7GK4+p34= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718074774; a=rsa-sha256; cv=none; b=C8YZVbFmKl1MCPWzS3tLU8AqP9nDsVpv3b7ouHja5BOtxl2O697bV9vioyTVvB7hMtINNr fLt4Vhvi64HmVppHM/F/FZt85H9zC0PJgRTzqmXka+SqqqpSeWydLamJqtVVDCMjWBy1nk Gmt8mwUBL0NOICatGScg0rYVOX5XSYw= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=ERtlFG9u; spf=pass (imf07.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.101 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1718074770; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=jqbfjcIqKsbhmmZ6dLRwAkOAJpLyJkndAwkDmIiGK+Q=; b=ERtlFG9uV6bNB/b1qGH2wt3sFOgvp3WiadMjJMsF4XP2P+JD5xFg+PVzmN3jzJINrlQR2cIlPhHQ/9OkmOHn0fSQ4+WiFd0m+PZ5/dT9ASpOfPiZ6a2BSDQyv2lZiLK+hT+36lFXPmQdqH1vGaWLynOr9f0WQGVncwe6IznMeIw= X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R181e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=maildocker-contentspam033037067112;MF=baolin.wang@linux.alibaba.com;NM=1;PH=DS;RN=16;SR=0;TI=SMTPD_---0W8Ekx9h_1718074767; Received: from 30.97.56.68(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0W8Ekx9h_1718074767) by smtp.aliyun-inc.com; Tue, 11 Jun 2024 10:59:28 +0800 Message-ID: <7c834335-9872-4de3-9e53-179356826c93@linux.alibaba.com> Date: Tue, 11 Jun 2024 10:59:27 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 4/7] mm: shmem: extend shmem_partial_swap_usage() to support large folio swap To: Daniel Gomez 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" <21cnbao@gmail.com>, "ryan.roberts@arm.com" , "shy828301@gmail.com" , "ziy@nvidia.com" , "ioworker0@gmail.com" , Pankaj Raghav , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" References: <358924679107339e6b17a5d8b1b2e10ae6306227.1717673614.git.baolin.wang@linux.alibaba.com> From: Baolin Wang In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam03 X-Stat-Signature: 4onq689czem4upxstzmpc793mognb854 X-Rspamd-Queue-Id: 0BC354000F X-Rspam-User: X-HE-Tag: 1718074772-141978 X-HE-Meta: U2FsdGVkX19j936cLB7fitfBooih3BlkwlaVUthLCD9DQrO4pO+QMw+beWlLzNd2xLyUNXN410Ez42Q5zqbLV6rlDhJ11k5psHT4kVN2/eVRIgM2nHQWMzJD9FpKduIihAnyawZaVCBtZN49WbXlFaArEyoUEkcbye90Kk2VB101BYgQcMC5vaG/SRWwNRIiSmD0J5vD+f7zapvlMv1KS4ckthjtFBEtZInIM8CuFDNrsUPmhjRr+SYqGn8Ya8SodHw98v/7IW/6ZdB405CZ7QSArRziXxpzIkOU0JIWplwV56W9eyohoR7BqZFE2U+deFrad5d2hX4HO1FP2UWd0eKIbgfUx8Tk5FUn/4CUAMpAw28bl6M7d1c6Yf+4q3C6g976f81Uz15znocurl8dzKgVov9rM7I05wFstDq1OnQObHh1aARjOrJumraR50KQ3fwRSAV0IVGLh3Zc1RoDpL2CCHXyzKpBXYjJgx9WRlhybVQjcvwmTP5ChiaYq6Regbcue319YXCj3UlYipkW03wCWWX2i6G5hfj4KRSIKyLSatnkDA036Fvemz8rJ5dO56iM7m/usRUsK8eVE0oTbC4RmGCQgX3+++qp0FaewJvDrV/RgAvZklZgm7NSRNOnb/+ZqpPW/21pV2syoBxhnZ8aeVm8nK9zG+1xlQJYEYrsZtSKBHXhKmut7sp9Venk220oBmbAC8kwa6suojiUpGVuAKfxBqTx/unD8035+FPBUDXdtc+/gKy+uNNB83ToE2XucoBoGbh10hbjH1h4z7W6DgCmjiCuBaG+ahpu4s/WzadQ1RKG3i2MYhQjgZANcrtg89Aj8tyBIJbJYp35RNRd6xsbyJZwlSn+Jw0lLV+HvQkBMgYWqhnkDK/tZgGUQ6sIhjyADf0MNXAO/k8W8Y2Y/+SyG++Yi8O1VIxLWYg+tRS3Y86K5MEEBOzO7AfbYnru2ZaztHeVU2x6axQ FbO/qEoB Dbvx4+aizXnL1zFI0KD1jTSXjdRhe1hsPvGzoLcGS6nsDpjYHQp4Fo05hcG5coeg6B6jSBBEk9mayNxoOIbx9ly3CkfcYAlW2vfG9UAWDZpOqfwdpEbrTF5MFuZbXKFOY34+E2EgCBr6sVrg8NKwV79jHltXggDh38jSVl+DnXPbtkDjEYfSfnU6T9yWMEfac3X6SSnvR1GI2hFNOkUOSr6WEapV2ChmkdLaLMC1TVMoVxP3NruFfitOY/hSftHm6pfyn9rwqGgw+/wlVenhqsJI34EFFnoeSHAqidsb1kxUNsm0ukgC1E+TkAM5mo7e3MCFTrO7FXzCYE/s3HDMV8ez1MniT9IO6EUq+BDSD40VrH0dhUCqi6g68pSgLROS05kVMqJv8A55nf/NZaNqHHoqkyLorY9caNp1d 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 2024/6/10 22:53, Daniel Gomez wrote: > Hi Baolin, > On Thu, Jun 06, 2024 at 07:58:54PM +0800, Baolin Wang wrote: >> To support shmem large folio swapout in the following patches, using >> xa_get_order() to get the order of the swap entry to calculate the swap >> usage of shmem. >> >> Signed-off-by: Baolin Wang >> --- >> mm/shmem.c | 7 +++++-- >> 1 file changed, 5 insertions(+), 2 deletions(-) >> >> diff --git a/mm/shmem.c b/mm/shmem.c >> index eefdf5c61c04..0ac71580decb 100644 >> --- a/mm/shmem.c >> +++ b/mm/shmem.c >> @@ -865,13 +865,16 @@ unsigned long shmem_partial_swap_usage(struct address_space *mapping, >> struct page *page; >> unsigned long swapped = 0; >> unsigned long max = end - 1; >> + int order; >> >> rcu_read_lock(); >> xas_for_each(&xas, page, max) { >> if (xas_retry(&xas, page)) >> continue; >> - if (xa_is_value(page)) >> - swapped++; >> + if (xa_is_value(page)) { >> + order = xa_get_order(xas.xa, xas.xa_index); >> + swapped += 1 << order; > > I'd get rid of order and simply do: > > swapped += 1UL << xa_get_order() OK. Will do.