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 D9CE0C04FFE for ; Sat, 11 May 2024 05:41:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 30C8E6B015C; Sat, 11 May 2024 01:41:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2BBF26B015E; Sat, 11 May 2024 01:41:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 182A06B015D; Sat, 11 May 2024 01:41:51 -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 E693B6B0151 for ; Sat, 11 May 2024 01:41:50 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5F12EA2980 for ; Sat, 11 May 2024 05:41:50 +0000 (UTC) X-FDA: 82105018380.22.F8D5815 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by imf02.hostedemail.com (Postfix) with ESMTP id 33BB38000A for ; Sat, 11 May 2024 05:41:48 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=AFjF+zEj; spf=pass (imf02.hostedemail.com: domain of ying.huang@intel.com designates 198.175.65.9 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715406108; a=rsa-sha256; cv=none; b=pKohjW0L0QhF9HOU0wPGN0rcc84TiesMWTpYHha5ZTNFjL0opVFLHqdCX311hPrIvqn5bC 2w1dv68hxsU1rpX56c77BbpCizDlSO9Fo1nnK5wjHUqmwnEQ7y8mZAj4neKQnbZkz/SJxg 3HfwjNg52KhCq53wWfUtlXGcFNWNNzU= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=AFjF+zEj; spf=pass (imf02.hostedemail.com: domain of ying.huang@intel.com designates 198.175.65.9 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715406108; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1tO1bpECuCi2oX5t1zDoWMDugdhKES4BjvJanhUGGCs=; b=KOJIY8zRM7AOVvUfgiZnG/Ha4sf1IHZSPVI8W8D1Oze2+AEWWAdROzBMbxU0t77+C22fWw mprlFx26SrwEfuWt6wtF2Uqj62Spdcc1iz9mXHa9cODwC6GHYtDvY90FKWFcBwQo+jSns/ EAVk7QidSlU+Cf4PsDsdL8+Ar0KFlP8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715406108; x=1746942108; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=vKgo1rxMrX85fnLlODxarqhoWbgiR3+i3AwVqY8M3Uc=; b=AFjF+zEjF89NCWjKHCLaaWTCxjPIu9d+6XNXkVL2mh3okP/VtlaDDPOX mGgAGBbmrwPVx2ndAev0gMHMjpv6rUH/Uoyo9u7l4qmCTwrm/iJTc0/W7 S3wesAJipGpMaTRKUxkREB6dxNrgeJEhQQJxwXg2dqRz/MLVgJ6hFfhzJ B+zvDtcE70zfgc2oOGLDORBCTjNC3LtfyI27BjmwjKXoacYGOnNwk5ouy a4UaNIk+/Q8+ZWegMXt2JJhwz3dppL0SiWD6oBRFn97NfaptdKVMExMMB wPxa3bRm8OT9MYsGImSVfxVniyabxuZ/T/LpFyrfvDig9ccWQNu2gMbp8 Q==; X-CSE-ConnectionGUID: WDiopbBvTbucHK2LN0SDAg== X-CSE-MsgGUID: WoF8+9caRZuJeG7k1ij75g== X-IronPort-AV: E=McAfee;i="6600,9927,11069"; a="33918558" X-IronPort-AV: E=Sophos;i="6.08,153,1712646000"; d="scan'208";a="33918558" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 May 2024 22:41:46 -0700 X-CSE-ConnectionGUID: gzzJlJ0sRvGdkdKmgarTug== X-CSE-MsgGUID: HSnXpZt5TO6cQtBRG/rGqA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,153,1712646000"; d="scan'208";a="34702998" Received: from unknown (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by orviesa004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 May 2024 22:41:42 -0700 From: "Huang, Ying" To: Kairui Song Cc: linux-mm@kvack.org, Kairui Song , Andrew Morton , Matthew Wilcox , Chris Li , Barry Song , Ryan Roberts , Neil Brown , Minchan Kim , David Hildenbrand , Hugh Dickins , Yosry Ahmed , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v5 11/12] mm: drop page_index and simplify folio_index In-Reply-To: <20240510114747.21548-12-ryncsn@gmail.com> (Kairui Song's message of "Fri, 10 May 2024 19:47:46 +0800") References: <20240510114747.21548-1-ryncsn@gmail.com> <20240510114747.21548-12-ryncsn@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Sat, 11 May 2024 13:39:50 +0800 Message-ID: <87o79chpp5.fsf@yhuang6-desk2.ccr.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ascii X-Rspamd-Queue-Id: 33BB38000A X-Rspam-User: X-Rspamd-Server: rspam12 X-Stat-Signature: p3qsowiqugi4mwsjt7jrm6z7m1zcydup X-HE-Tag: 1715406108-286052 X-HE-Meta: U2FsdGVkX1+nZhXdmtEG8EYKpEmYs2aoRENktQFeFl35Iqt+nhxhgh9y+SFkEeeJvjd2YYGEqjeVcku8bUznqk7JHjy+7DXVbRtB6ucga+G0VrByY5TV7s7XmUSENGodjU0g8Jwx7fVsaw7UlRlityHQVbRmbJMb5dCn+S1KWkAyZyp14C4CIcWQyXVz306/UAvLzShAV1Ij8sGrB45LSKqxYd87M+Gm+FHVFVcA7Rt2SqgyRHDP1AlxEJN8+PIqGx1emrA4aclGgcgH1sAISUmCfsMAlk7tiCOK3UPeoDjs6SdLbukBI+hLP8UmuAw00jcLCCe0a/mBVH6mTTt311skYRmjhxvc0Kv7gq+HfelBVbl/atBTSlWIIjlekgnmlV1TummxCz/rb40pt0SIeogOfO26GQDsBdWQdINwMwruMcdAWRgP/WXB/jAZC3lWL9zhG1ByggdmuR6Sb1bFfzN2Pi8hFKekk+QM/yIO0/BoJwTcmV/OL8T5+fnd2RgGCZ0hwhv3R8R5fvOyGPN0Rr+0yfaRFSszkH9J748QuDXDWP8zPIhq1TIQYXQU+oEDmb5BE5qVWawAkNFEYEFHNr5TfvfRiyR+NYGEMgMHgCb4Ttwx3y7MR59Ku+NZ2NL/sheh5ofZQeoN4oYNnLOxPd6oxEG5PhaS4o9hS/gus7u65fsiS9hxOUcceWDG5lUv6T6SPVtninhzFgySAE13A+QOSQ2DBgp5QO+3aYePPd8SPfTIIAJ8CiC0bIr38YQMQKuzBHHTy02DMS7mWwdW+GVoDBkWeOugU/yaatC6QN9/9U3nzOtd+gwC5mNwalfs7xKILwZNSdy8Ok3weZ99EeJWOgyTRx/VmptpTkHlgP3yAEkNbgjg6VZRSpALX6xSEaV00HBvXb4VU/ih8haagDxPaXIo2AH8Hx1nWV0ubB3T1vc9H0MH+4nYbAwKLdDTykkodifhYKvai9rGW8f NC7lZCxR kBSzzngfaujd8WPBY7RYnqDb/FtZKon0B4OHAylo1mIetmYNLBO6GRrkterqk1ha77NIrzZNRvVTbskL7aglltA9RRK4aojQR2uX64hNKRAomn1OM3LQEmEm3KkLAf9MQt6oqTLkLcLVsFcxPjdjDAj/yusEuJWWFNldV8+mPLubB2ry+6G2xbtAd6L8Z0WQ3JKgeoZD8CpT+NRhTcF/UBVqhhpRdgOUx4S6iwRUnWLCwg9X73RvXMhV9GfyriO1UpGCh58DU9lPTimaTBFqyfn6T6BwwoRprwR2BM60Mb3RoCtRvNZwxycV0RXZUN5zRu1WgFewFz2UmF+9Re6emq5FyxYl/2kkx5M8jYgzphnTNcaEyYUcV+HC4fg== 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: Kairui Song writes: > From: Kairui Song > > There are two helpers for retrieving the index within address space > for mixed usage of swap cache and page cache: > > - page_index > - folio_index > > This commit drops page_index, as we have eliminated all users, and > converts folio_index's helper __page_file_index to use folio to avoid > the page convertion. > > Signed-off-by: Kairui Song LGTM, Thanks! Reviewed-by: "Huang, Ying" > --- > include/linux/mm.h | 13 ------------- > include/linux/pagemap.h | 8 ++++---- > mm/swapfile.c | 7 +++---- > 3 files changed, 7 insertions(+), 21 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 9849dfda44d4..e2718cac0fda 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -2290,19 +2290,6 @@ static inline void *folio_address(const struct folio *folio) > return page_address(&folio->page); > } > > -extern pgoff_t __page_file_index(struct page *page); > - > -/* > - * Return the pagecache index of the passed page. Regular pagecache pages > - * use ->index whereas swapcache pages use swp_offset(->private) > - */ > -static inline pgoff_t page_index(struct page *page) > -{ > - if (unlikely(PageSwapCache(page))) > - return __page_file_index(page); > - return page->index; > -} > - > /* > * Return true only if the page has been allocated with > * ALLOC_NO_WATERMARKS and the low watermark was not > diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h > index a324582ea702..0cfa5810cde3 100644 > --- a/include/linux/pagemap.h > +++ b/include/linux/pagemap.h > @@ -778,7 +778,7 @@ static inline struct page *grab_cache_page_nowait(struct address_space *mapping, > mapping_gfp_mask(mapping)); > } > > -#define swapcache_index(folio) __page_file_index(&(folio)->page) > +extern pgoff_t __folio_swap_cache_index(struct folio *folio); > > /** > * folio_index - File index of a folio. > @@ -793,9 +793,9 @@ static inline struct page *grab_cache_page_nowait(struct address_space *mapping, > */ > static inline pgoff_t folio_index(struct folio *folio) > { > - if (unlikely(folio_test_swapcache(folio))) > - return swapcache_index(folio); > - return folio->index; > + if (unlikely(folio_test_swapcache(folio))) > + return __folio_swap_cache_index(folio); > + return folio->index; > } > > /** > diff --git a/mm/swapfile.c b/mm/swapfile.c > index f6ca215fb92f..0b0ae6e8c764 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -3474,12 +3474,11 @@ struct address_space *swapcache_mapping(struct folio *folio) > } > EXPORT_SYMBOL_GPL(swapcache_mapping); > > -pgoff_t __page_file_index(struct page *page) > +pgoff_t __folio_swap_cache_index(struct folio *folio) > { > - swp_entry_t swap = page_swap_entry(page); > - return swp_offset(swap); > + return swp_offset(folio->swap); > } > -EXPORT_SYMBOL_GPL(__page_file_index); > +EXPORT_SYMBOL_GPL(__folio_swap_cache_index); > > /* > * add_swap_count_continuation - called when a swap count is duplicated