Re: [PATCH V2 0/8] btrfs: convert kmaps to core page calls

From: David Sterba
Date: Thu Feb 11 2021 - 14:41:06 EST


On Tue, Feb 09, 2021 at 10:22:13PM -0800, ira.weiny@xxxxxxxxx wrote:
> From: Ira Weiny <ira.weiny@xxxxxxxxx>
>
> Changes from V1:
> Rework commit messages because they were very weak
> Change 'fs/btrfs: X' to 'btrfs: x'
> https://lore.kernel.org/lkml/20210209151442.GU1993@xxxxxxx/
> Per Andrew
> Split out changes to highmem.h
> The addition memcpy, memmove, and memset page functions
> The change from kmap_atomic to kmap_local_page
> The addition of BUG_ON
> The conversion of memzero_page to zero_user in iov_iter
> Change BUG_ON to VM_BUG_ON
> While we are refactoring adjust the line length down per Chaitany
>
>
> There are many places where kmap/<operation>/kunmap patterns occur. We lift a
> couple of these patterns to the core common functions and use them as well as
> existing core functions in the btrfs file system. At the same time we convert
> those core functions to use kmap_local_page() which is more efficient in those
> calls.
>
> Per the conversation on V1 it looks like Andrew would like this to go through
> the btrfs tree. I think that is fine. The other users of
> memcpy_[to|from]_page are probably not ready and I believe could be taken in an
> early rc after David submits.
>
> Is that ok with you David?

Yes.

The branch is now in
https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git/log/?h=kmap-conversion
let me know if I've missed acked-by or reviewed-by, I added those sent
to the mailinglist and added mine to the btrfs ones and to the iov_iter
patch.

I'll add the patchset to my for-next so it gets picked by linux-next and
will keep testing it for at least a week.

Though this is less than the expected time before merge window, the
reasoning is that it's exporting helpers that are going to be used in
various subsystems. The changes in btrfs are simple and would allow to
focus on the other less trivial conversions. ETA for the pull request is
mid of the 2nd week of the merge window or after rc1.