Re: [PATCH 0/4] btrfs: Convert kmaps to core page calls
From: Ira Weiny <hidden>
Date: 2021-02-09 17:55:12
Also in:
linux-fsdevel
On Tue, Feb 09, 2021 at 04:11:23PM +0100, David Sterba wrote:
On Fri, Feb 05, 2021 at 03:23:00PM -0800, ira.weiny@intel.com wrote:quoted
From: Ira Weiny <redacted> There are many places where kmap/<operation>/kunmap patterns occur. We lift these various patterns to core common functions and use them 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. I think this is best accepted through Andrew's tree as it has the mem*_page functions in it. But I'd like to get an ack from David or one of the other btrfs maintainers before the btrfs patches go through.I'd rather take the non-mm patches through my tree so it gets tested the same way as other btrfs changes, straightforward cleanups or not.
True.
This brings the question how to do that as the first patch should go through the MM tree. One option is to posptpone the actual cleanups after the 1st patch is merged but this could take a long delay. I'd suggest to take the 1st patch within MM tree in the upcoming merge window and then I can prepare a separate pull with just the cleanups. Removing an inter-tree patch dependency was a sufficient reason for Linus in the past for such pull requests.
There are others how want this base patch too.[1] So I like this option.
quoted
There are a lot more kmap->kmap_local_page() conversions but kmap_local_page() requires some care with the unmapping order and so I'm still reviewing those changes because btrfs uses a lot of loops for it's kmaps.It sounds to me that converting the kmaps will take some time anyway so exporting the helpers first and then converting the subsystems might be a good option. In case you'd like to get rid of the simple cases in btrfs code now we can do the 2 pull requests.
I would really like to get the simple case out of the way because the next series has more difficult changes and the simple cases always cause me trouble when grepping/coccinelle'ing for things. So I would like a follow on pull request if possible. But I'm willing to do what works best for you. For now I will spin a new version with the changes you've requested ASAP. Ira [1] https://lore.kernel.org/linux-f2fs-devel/20210207190425.38107-1-chaitanya.kulkarni@wdc.com/ (local)