On Tue, Feb 09, 2021 at 11:09:31AM -0800, Andrew Morton wrote: > On Tue, 9 Feb 2021 16:11:23 +0100 David Sterba <dsterba@xxxxxxx> wrote: > > > On Fri, Feb 05, 2021 at 03:23:00PM -0800, ira.weiny@xxxxxxxxx wrote: > > > From: Ira Weiny <ira.weiny@xxxxxxxxx> > > > > > > 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. > > > > 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. > > It would be best to merge [1/4] via the btrfs tree. Please add my > > Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > > > Although I think it would be better if [1/4] merely did the code > movement. Adding those BUG_ON()s is a semantic/functional change and > really shouldn't be bound up with the other things this patch series > does. I proposed this too and was told 'no'... <quote> If we put in into a separate patch, someone will suggest backing out the patch which tells us that there's a problem. </quote> -- https://lore.kernel.org/lkml/20201209201415.GT7338@xxxxxxxxxxxxxxxxxxxx/ > This logically separate change raises questions such as > > - What is the impact on overall code size? Not huge, presumably, but > every little bit hurts. > > - Additional runtime costs of those extra comparisons? > > - These impacts could be lessened by using VM_BUG_ON() rather than > BUG_ON() - should we do this? <sigh> I lost that argument last time around. <quote> BUG() is our only option here. Both limiting how much we copy or copying the requested amount result in data corruption or leaking information to a process that isn't supposed to see it. </quote> https://lore.kernel.org/lkml/20201209040312.GN7338@xxxxxxxxxxxxxxxxxxxx/ CC'ing Matthew because I _really_ don't want to argue this any longer. > > - Linus reeeeeeeally doesn't like new BUG_ON()s. Maybe you can sneak > it past him ;) I'm worried too... :-( > > See what I mean? Yes I do however ... see above... :-/ Ira > I do think it would be best to take those assertions > out of the patch and to propose them separately, at a later time. >