diff mbox series

[v2,3/8] f2fs: drop usage of page_index

Message ID 20240423170339.54131-4-ryncsn@gmail.com (mailing list archive)
State New
Headers show
Series mm/swap: optimize swap cache search space | expand

Commit Message

Kairui Song April 23, 2024, 5:03 p.m. UTC
From: Kairui Song <kasong@tencent.com>

page_index is needed for mixed usage of page cache and swap cache,
for pure page cache usage, the caller can just use page->index instead.

It can't be a swap cache page here, so just drop it.

Signed-off-by: Kairui Song <kasong@tencent.com>
Cc: Chao Yu <chao@kernel.org>
Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: linux-f2fs-devel@lists.sourceforge.net
---
 fs/f2fs/data.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Matthew Wilcox April 23, 2024, 10:58 p.m. UTC | #1
On Wed, Apr 24, 2024 at 01:03:34AM +0800, Kairui Song wrote:
> @@ -4086,8 +4086,7 @@ void f2fs_clear_page_cache_dirty_tag(struct page *page)
>  	unsigned long flags;
>  
>  	xa_lock_irqsave(&mapping->i_pages, flags);
> -	__xa_clear_mark(&mapping->i_pages, page_index(page),
> -						PAGECACHE_TAG_DIRTY);
> +	__xa_clear_mark(&mapping->i_pages, page->index, PAGECACHE_TAG_DIRTY);
>  	xa_unlock_irqrestore(&mapping->i_pages, flags);
>  }

I just sent a patch which is going to conflict with this:

https://lore.kernel.org/linux-mm/20240423225552.4113447-3-willy@infradead.org/

Chao Yu, Jaegeuk Kim; what are your plans for converting f2fs to use
folios?  This is getting quite urgent.
Chao Yu April 28, 2024, 3:17 a.m. UTC | #2
On 2024/4/24 6:58, Matthew Wilcox wrote:
> On Wed, Apr 24, 2024 at 01:03:34AM +0800, Kairui Song wrote:
>> @@ -4086,8 +4086,7 @@ void f2fs_clear_page_cache_dirty_tag(struct page *page)
>>   	unsigned long flags;
>>   
>>   	xa_lock_irqsave(&mapping->i_pages, flags);
>> -	__xa_clear_mark(&mapping->i_pages, page_index(page),
>> -						PAGECACHE_TAG_DIRTY);
>> +	__xa_clear_mark(&mapping->i_pages, page->index, PAGECACHE_TAG_DIRTY);
>>   	xa_unlock_irqrestore(&mapping->i_pages, flags);
>>   }
> 
> I just sent a patch which is going to conflict with this:
> 
> https://lore.kernel.org/linux-mm/20240423225552.4113447-3-willy@infradead.org/
> 
> Chao Yu, Jaegeuk Kim; what are your plans for converting f2fs to use

Hi Matthew,

I've converted .read_folio and .readahead of f2fs to use folio w/ below patchset,
and let me take a look how to support and enable large folio...

https://lore.kernel.org/linux-f2fs-devel/20240422062417.2421616-1-chao@kernel.org/

Thanks,

> folios?  This is getting quite urgent.
diff mbox series

Patch

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index d9494b5fc7c1..12d5bbd18755 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -2057,7 +2057,7 @@  static int f2fs_read_single_page(struct inode *inode, struct page *page,
 	sector_t block_nr;
 	int ret = 0;
 
-	block_in_file = (sector_t)page_index(page);
+	block_in_file = (sector_t)page->index;
 	last_block = block_in_file + nr_pages;
 	last_block_in_file = bytes_to_blks(inode,
 			f2fs_readpage_limit(inode) + blocksize - 1);
@@ -4086,8 +4086,7 @@  void f2fs_clear_page_cache_dirty_tag(struct page *page)
 	unsigned long flags;
 
 	xa_lock_irqsave(&mapping->i_pages, flags);
-	__xa_clear_mark(&mapping->i_pages, page_index(page),
-						PAGECACHE_TAG_DIRTY);
+	__xa_clear_mark(&mapping->i_pages, page->index, PAGECACHE_TAG_DIRTY);
 	xa_unlock_irqrestore(&mapping->i_pages, flags);
 }