zram: use kmap_local_page()

Use kmap_local_page() instead of kmap_atomic() which has been
deprecated.

Link: https://lkml.kernel.org/r/20231128083845.848008-1-senozhatsky@chromium.org
Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Acked-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Sergey Senozhatsky 2023-11-28 17:22:07 +09:00 committed by Andrew Morton
parent 664dc2189d
commit 73829b7134

View file

@ -1321,9 +1321,9 @@ static int zram_read_from_zspool(struct zram *zram, struct page *page,
void *mem;
value = handle ? zram_get_element(zram, index) : 0;
mem = kmap_atomic(page);
mem = kmap_local_page(page);
zram_fill_page(mem, PAGE_SIZE, value);
kunmap_atomic(mem);
kunmap_local(mem);
return 0;
}
@ -1336,14 +1336,14 @@ static int zram_read_from_zspool(struct zram *zram, struct page *page,
src = zs_map_object(zram->mem_pool, handle, ZS_MM_RO);
if (size == PAGE_SIZE) {
dst = kmap_atomic(page);
dst = kmap_local_page(page);
memcpy(dst, src, PAGE_SIZE);
kunmap_atomic(dst);
kunmap_local(dst);
ret = 0;
} else {
dst = kmap_atomic(page);
dst = kmap_local_page(page);
ret = zcomp_decompress(zstrm, src, size, dst);
kunmap_atomic(dst);
kunmap_local(dst);
zcomp_stream_put(zram->comps[prio]);
}
zs_unmap_object(zram->mem_pool, handle);
@ -1416,21 +1416,21 @@ static int zram_write_page(struct zram *zram, struct page *page, u32 index)
unsigned long element = 0;
enum zram_pageflags flags = 0;
mem = kmap_atomic(page);
mem = kmap_local_page(page);
if (page_same_filled(mem, &element)) {
kunmap_atomic(mem);
kunmap_local(mem);
/* Free memory associated with this sector now. */
flags = ZRAM_SAME;
atomic64_inc(&zram->stats.same_pages);
goto out;
}
kunmap_atomic(mem);
kunmap_local(mem);
compress_again:
zstrm = zcomp_stream_get(zram->comps[ZRAM_PRIMARY_COMP]);
src = kmap_atomic(page);
src = kmap_local_page(page);
ret = zcomp_compress(zstrm, src, &comp_len);
kunmap_atomic(src);
kunmap_local(src);
if (unlikely(ret)) {
zcomp_stream_put(zram->comps[ZRAM_PRIMARY_COMP]);
@ -1494,10 +1494,10 @@ static int zram_write_page(struct zram *zram, struct page *page, u32 index)
src = zstrm->buffer;
if (comp_len == PAGE_SIZE)
src = kmap_atomic(page);
src = kmap_local_page(page);
memcpy(dst, src, comp_len);
if (comp_len == PAGE_SIZE)
kunmap_atomic(src);
kunmap_local(src);
zcomp_stream_put(zram->comps[ZRAM_PRIMARY_COMP]);
zs_unmap_object(zram->mem_pool, handle);
@ -1614,9 +1614,9 @@ static int zram_recompress(struct zram *zram, u32 index, struct page *page,
num_recomps++;
zstrm = zcomp_stream_get(zram->comps[prio]);
src = kmap_atomic(page);
src = kmap_local_page(page);
ret = zcomp_compress(zstrm, src, &comp_len_new);
kunmap_atomic(src);
kunmap_local(src);
if (ret) {
zcomp_stream_put(zram->comps[prio]);