diff mbox series

[f2fs-dev] f2fs: count mmap write io more accurately

Message ID 20230613065135.3517335-1-heyunlei@oppo.com (mailing list archive)
State Superseded
Headers show
Series [f2fs-dev] f2fs: count mmap write io more accurately | expand

Commit Message

Yunlei He June 13, 2023, 6:51 a.m. UTC
This patch count mmap write io more accurately and remove
redundant PageUptodate judgement in f2fs_vm_page_mkwrite.

Signed-off-by: Yunlei He <heyunlei@oppo.com>
---
 fs/f2fs/file.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

--
2.40.1

Comments

Chao Yu June 19, 2023, 1:01 a.m. UTC | #1
On 2023/6/13 14:51, Yunlei He wrote:
> This patch count mmap write io more accurately and remove
> redundant PageUptodate judgement in f2fs_vm_page_mkwrite.

Yunlei,

What about separating this patch:
- remove unneeded uptodate check/set.
- fix incorrect PageMappedToDisk check and goto logic.

Thanks,

> 
> Signed-off-by: Yunlei He <heyunlei@oppo.com>
> ---
>   fs/f2fs/file.c | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
> index 4dd4e2bd000a..34a6177c64a4 100644
> --- a/fs/f2fs/file.c
> +++ b/fs/f2fs/file.c
> @@ -149,14 +149,12 @@ static vm_fault_t f2fs_vm_page_mkwrite(struct vm_fault *vmf)
>                  zero_user_segment(page, offset, PAGE_SIZE);
>          }
>          set_page_dirty(page);
> -       if (!PageUptodate(page))
> -               SetPageUptodate(page);
> 
> +out_sem:
>          f2fs_update_iostat(sbi, inode, APP_MAPPED_IO, F2FS_BLKSIZE);
>          f2fs_update_time(sbi, REQ_TIME);
> 
>          trace_f2fs_vm_page_mkwrite(page, DATA);
> -out_sem:
>          filemap_invalidate_unlock_shared(inode->i_mapping);
> 
>          sb_end_pagefault(inode->i_sb);
> --
diff mbox series

Patch

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 4dd4e2bd000a..34a6177c64a4 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -149,14 +149,12 @@  static vm_fault_t f2fs_vm_page_mkwrite(struct vm_fault *vmf)
                zero_user_segment(page, offset, PAGE_SIZE);
        }
        set_page_dirty(page);
-       if (!PageUptodate(page))
-               SetPageUptodate(page);

+out_sem:
        f2fs_update_iostat(sbi, inode, APP_MAPPED_IO, F2FS_BLKSIZE);
        f2fs_update_time(sbi, REQ_TIME);

        trace_f2fs_vm_page_mkwrite(page, DATA);
-out_sem:
        filemap_invalidate_unlock_shared(inode->i_mapping);

        sb_end_pagefault(inode->i_sb);