mm/highmem: Convert memcpy_[to|from]_page() to kmap_local_page()
authorIra Weiny <ira.weiny@intel.com>
Wed, 10 Feb 2021 06:22:15 +0000 (22:22 -0800)
committerDavid Sterba <dsterba@suse.com>
Thu, 11 Feb 2021 18:55:16 +0000 (19:55 +0100)
kmap_local_page() is more efficient and is well suited for these calls.
Convert the kmap() to kmap_local_page()

Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@infradead.org>
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: David Sterba <dsterba@suse.com>
include/linux/highmem.h

index 736b6a9..c17a175 100644 (file)
@@ -279,19 +279,19 @@ static inline void copy_highpage(struct page *to, struct page *from)
 static inline void memcpy_from_page(char *to, struct page *page,
                                    size_t offset, size_t len)
 {
-       char *from = kmap_atomic(page);
+       char *from = kmap_local_page(page);
 
        memcpy(to, from + offset, len);
-       kunmap_atomic(from);
+       kunmap_local(from);
 }
 
 static inline void memcpy_to_page(struct page *page, size_t offset,
                                  const char *from, size_t len)
 {
-       char *to = kmap_atomic(page);
+       char *to = kmap_local_page(page);
 
        memcpy(to + offset, from, len);
-       kunmap_atomic(to);
+       kunmap_local(to);
 }
 
 #endif /* _LINUX_HIGHMEM_H */