[PATCH 2/3] mm/highmem: Convert memzero_page() to kmap_local_page()

From: ira . weiny
Date: Tue Mar 09 2021 - 16:23:06 EST


From: Ira Weiny <ira.weiny@xxxxxxxxx>

The memset() does not need to be performed atomically. Use
kmap_local_page() which will improved performance for this call.

Cc: Chaitanya Kulkarni <chaitanya.kulkarni@xxxxxxx>
Cc: David Sterba <dsterba@xxxxxxxx>
Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx>
---
include/linux/highmem.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/highmem.h b/include/linux/highmem.h
index 832b49b50c7b..0dc0451cf1d1 100644
--- a/include/linux/highmem.h
+++ b/include/linux/highmem.h
@@ -334,9 +334,9 @@ static inline void memcpy_to_page(struct page *page, size_t offset,

static inline void memzero_page(struct page *page, size_t offset, size_t len)
{
- char *addr = kmap_atomic(page);
+ char *addr = kmap_local_page(page);
memset(addr + offset, 0, len);
- kunmap_atomic(addr);
+ kunmap_local(addr);
}

#endif /* _LINUX_HIGHMEM_H */
--
2.28.0.rc0.12.gb6a658bd00c9