mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
f2fs: Use copy_page for full page copy
Some architectures have implemented optimized copy_page for full page copying, such as arm. On my arm platform, use the copy_page helper for single page copying is about 10 percent faster than memcpy. Change-Id: Ie28de9ef5954d0c232b418f382471bc7c125563f Signed-off-by: Dark-Matter7232 <me@const.eu.org> Signed-off-by: Richard Raya <rdxzv.dev@gmail.com>
This commit is contained in:
parent
0fe0764363
commit
b3eeba3c1d
@ -1391,7 +1391,7 @@ static void commit_checkpoint(struct f2fs_sb_info *sbi,
|
||||
|
||||
f2fs_wait_on_page_writeback(page, META, true, true);
|
||||
|
||||
memcpy(page_address(page), src, PAGE_SIZE);
|
||||
copy_page(page_address(page), src);
|
||||
|
||||
set_page_dirty(page);
|
||||
if (unlikely(!clear_page_dirty_for_io(page)))
|
||||
|
@ -1849,7 +1849,7 @@ void f2fs_cache_compressed_page(struct f2fs_sb_info *sbi, struct page *page,
|
||||
if (!f2fs_is_valid_blkaddr(sbi, blkaddr, DATA_GENERIC_ENHANCE_READ))
|
||||
goto out;
|
||||
|
||||
memcpy(page_address(cpage), page_address(page), PAGE_SIZE);
|
||||
copy_page(page_address(cpage), page_address(page));
|
||||
SetPageUptodate(cpage);
|
||||
out:
|
||||
f2fs_put_page(cpage, 1);
|
||||
|
@ -2750,7 +2750,7 @@ static inline void f2fs_copy_page(struct page *src, struct page *dst)
|
||||
char *src_kaddr = kmap(src);
|
||||
char *dst_kaddr = kmap(dst);
|
||||
|
||||
memcpy(dst_kaddr, src_kaddr, PAGE_SIZE);
|
||||
copy_page(dst_kaddr, src_kaddr);
|
||||
kunmap(dst);
|
||||
kunmap(src);
|
||||
}
|
||||
|
@ -150,7 +150,7 @@ static struct page *get_next_nat_page(struct f2fs_sb_info *sbi, nid_t nid)
|
||||
|
||||
src_addr = page_address(src_page);
|
||||
dst_addr = page_address(dst_page);
|
||||
memcpy(dst_addr, src_addr, PAGE_SIZE);
|
||||
copy_page(dst_addr, src_addr);
|
||||
set_page_dirty(dst_page);
|
||||
f2fs_put_page(src_page, 1);
|
||||
|
||||
|
@ -2368,7 +2368,7 @@ void f2fs_update_meta_page(struct f2fs_sb_info *sbi,
|
||||
{
|
||||
struct page *page = f2fs_grab_meta_page(sbi, blk_addr);
|
||||
|
||||
memcpy(page_address(page), src, PAGE_SIZE);
|
||||
copy_page(page_address(page), src);
|
||||
set_page_dirty(page);
|
||||
f2fs_put_page(page, 1);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user