[GIT PULL] Kmap conversions for 5.12

From: David Sterba
Date: Tue Feb 23 2021 - 10:05:35 EST


From: David Sterba <dsterba@xxxxxxx>

Hi,

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
risky.

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://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.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(-)