[lkml]   [2021]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[GIT PULL] Kmap conversions for 5.12
From: David Sterba <>


this pull request contains changes regarding kmap API use and eg.
conversion from kmap_atomic to kmap_local_page.

The API belongs to memory management but to save cross-tree dependency
headaches we've agreed to take it through the btrfs tree because there
are some trivial conversions possible, while the rest will need some
time and getting the easy cases out of the way would be convenient.

The final patchset arrived shortly before merge window, which is not
perfect, but given that it's straightforward I don't think it's too

I've added it to my for-next branch and it's been in linux-next for more
than a week. Meanwhile I've been testing it among my regular branches
with additional MM related debugging options.

The changes can be grouped:

- function exports, new helpers

- new VM_BUG_ON for additional verification; it's been discussed if it
should be VM_BUG_ON or BUG_ON, the former was chosen due to
performance reasons

- code replaced by relevant helpers

Please pull, thanks.

The following changes since commit 92bf22614b21a2706f4993b278017e437f7785b3:

Linux 5.11-rc7 (2021-02-07 13:57:38 -0800)

are available in the Git repository at:

git:// kmap-conversion-for-5.12-tag

for you to fetch changes up to bbc24c42f2c0ea037db3c7f319c860fd790aeb28:

btrfs: convert to zero_user() (2021-02-11 20:18:25 +0100)

Ira Weiny (8):
mm/highmem: Lift memcpy_[to|from]_page to core
mm/highmem: Convert memcpy_[to|from]_page() to kmap_local_page()
mm/highmem: Introduce memcpy_page(), memmove_page(), and memset_page()
mm/highmem: Add VM_BUG_ON() to mem*_page() calls
iov_iter: Remove memzero_page() in favor of zero_user()
btrfs: use memcpy_[to|from]_page() and kmap_local_page()
btrfs: use copy_highpage() instead of 2 kmaps()
btrfs: convert to zero_user()

fs/btrfs/compression.c | 11 +++-------
fs/btrfs/extent_io.c | 22 ++++---------------
fs/btrfs/inode.c | 32 ++++++++--------------------
fs/btrfs/lzo.c | 4 ++--
fs/btrfs/raid56.c | 10 +--------
fs/btrfs/reflink.c | 12 ++---------
fs/btrfs/send.c | 7 ++-----
fs/btrfs/zlib.c | 10 +++------
fs/btrfs/zstd.c | 11 +++-------
include/linux/highmem.h | 56 +++++++++++++++++++++++++++++++++++++++++++++++++
lib/iov_iter.c | 26 +++--------------------
11 files changed, 88 insertions(+), 113 deletions(-)

 \ /
  Last update: 2021-02-23 16:07    [W:0.054 / U:2.924 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site