[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <YqCeyZO77Oi1wvxt@optiplex-fbsd>
Date: Wed, 8 Jun 2022 09:06:17 -0400
From: Rafael Aquini <aquini@...hat.com>
To: David Hildenbrand <david@...hat.com>
Cc: Matthew Wilcox <willy@...radead.org>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-block@...r.kernel.org, linux-aio@...ck.org,
linux-btrfs@...r.kernel.org, linux-ext4@...r.kernel.org,
linux-f2fs-devel@...ts.sourceforge.net, cluster-devel@...hat.com,
linux-mm@...ck.org, linux-xfs@...r.kernel.org,
linux-nfs@...r.kernel.org, linux-ntfs-dev@...ts.sourceforge.net,
ocfs2-devel@....oracle.com, linux-mtd@...ts.infradead.org,
virtualization@...ts.linux-foundation.org,
Minchan Kim <minchan@...nel.org>
Subject: Re: [PATCH 15/20] balloon: Convert to migrate_folio
On Wed, Jun 08, 2022 at 11:59:31AM +0200, David Hildenbrand wrote:
> On 07.06.22 21:21, Matthew Wilcox wrote:
> > On Tue, Jun 07, 2022 at 03:24:15PM +0100, Matthew Wilcox wrote:
> >> On Tue, Jun 07, 2022 at 09:36:21AM +0200, David Hildenbrand wrote:
> >>> On 06.06.22 22:40, Matthew Wilcox (Oracle) wrote:
> >>>> const struct address_space_operations balloon_aops = {
> >>>> - .migratepage = balloon_page_migrate,
> >>>> + .migrate_folio = balloon_migrate_folio,
> >>>> .isolate_page = balloon_page_isolate,
> >>>> .putback_page = balloon_page_putback,
> >>>> };
> >>>
> >>> I assume you're working on conversion of the other callbacks as well,
> >>> because otherwise, this ends up looking a bit inconsistent and confusing :)
> >>
> >> My intention was to finish converting aops for the next merge window.
> >>
> >> However, it seems to me that we goofed back in 2016 by merging
> >> commit bda807d44454. isolate_page() and putback_page() should
> >> never have been part of address_space_operations.
> >>
> >> I'm about to embark on creating a new migrate_operations struct
> >> for drivers to use that contains only isolate/putback/migrate.
> >> No filesystem uses isolate/putback, so those can just be deleted.
> >> Both migrate_operations & address_space_operations will contain a
> >> migrate callback.
>
> That makes sense to me. I wonder if there was a design
> decision/discussion behind that. CCing Rafael.
>
None that I recollect. If memory still serves me, I think the idea behind
bda807d44454 and friends was to provide a generic way to allow page
mobility for drivers without adding complexity to the page isolation / putback
paths, and since the migration callback was already part of the aops struct
those new callbacks just followed suit.
-- Rafael
Powered by blists - more mailing lists