All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org, linux-aio@kvack.org,
	linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com,
	linux-mm@kvack.org, linux-xfs@vger.kernel.org,
	linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net,
	ocfs2-devel@oss.oracle.com, linux-mtd@lists.infradead.org,
	virtualization@lists.linux-foundation.org,
	Minchan Kim <minchan@kernel.org>,
	Rafael Aquini <aquini@redhat.com>
Subject: Re: [PATCH 15/20] balloon: Convert to migrate_folio
Date: Wed, 8 Jun 2022 11:59:31 +0200	[thread overview]
Message-ID: <36cc5e2b-b768-ce1c-fa30-72a932587289@redhat.com> (raw)
In-Reply-To: <Yp+lU55H4igaV3pB@casper.infradead.org>

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.

@Rafael, full mail at

https://lkml.kernel.org/r/Yp+lU55H4igaV3pB@casper.infradead.org

> 
> Well, that went more smoothly than I thought it would.
> 
> I can't see a nice way to split this patch up (other than making secretmem
> its own patch).  We just don't have enough bits in struct page to support
> both ways of handling PageMovable at the same time, so we can't convert
> one driver at a time.  The diffstat is pretty compelling.

Yes, splitting rather overcomplicates stuff.

> 
> The patch is on top of this patch series; I think it probably makes
> sense to shuffle it to be first, to avoid changing these drivers to
> folios, then changing them back.

Absolutely.

> 
> Questions:
> 
> Is what I've done with zsmalloc acceptable?  The locking in that
> file is rather complex.
> 
> Can we now eliminate balloon_mnt / balloon_fs from cmm.c?  I haven't even
> compiled thatfile , but it seems like the filesystem serves no use now.
> 
> Similar question for vmw_balloon.c, although I have compiled that.

IIRC, virtio-balloon, cmm and vmw_balloon all have the mnt/fs just for
page migration purposes. So if one can get rid of them, all should be
able to get rid of them. Essentially everything that uses the balloon
compaction framework.

That should go into separate patches then.

> 
> ---
> 
> I just spotted a bug with zs_unregister_migration(); it won't compile
> without CONFIG_MIGRATION.  I'll fix that up if the general approach is
> acceptable.
> 
>  arch/powerpc/platforms/pseries/cmm.c |   13 --------
>  drivers/misc/vmw_balloon.c           |   10 ------
>  include/linux/balloon_compaction.h   |    6 +---
>  include/linux/fs.h                   |    2 -
>  include/linux/migrate.h              |   27 ++++++++++++++----
>  include/linux/page-flags.h           |    2 -
>  mm/balloon_compaction.c              |   18 ++++++------
>  mm/compaction.c                      |   29 ++++++++-----------
>  mm/migrate.c                         |   23 ++++++++-------
>  mm/secretmem.c                       |    6 ----
>  mm/util.c                            |    4 +-
>  mm/z3fold.c                          |   45 ++++++------------------------
>  mm/zsmalloc.c                        |   52 +++++++++--------------------------
>  13 files changed, 83 insertions(+), 154 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/pseries/cmm.c b/arch/powerpc/platforms/pseries/cmm.c
> index 15ed8206c463..2ecbab3db723 100644
> --- a/arch/powerpc/platforms/pseries/cmm.c
> +++ b/arch/powerpc/platforms/pseries/cmm.c
> @@ -578,23 +578,10 @@ static int cmm_balloon_compaction_init(void)
>  		return rc;
>  	}
>  
> -	b_dev_info.inode = alloc_anon_inode(balloon_mnt->mnt_sb);
> -	if (IS_ERR(b_dev_info.inode)) {
> -		rc = PTR_ERR(b_dev_info.inode);
> -		b_dev_info.inode = NULL;
> -		kern_unmount(balloon_mnt);
> -		balloon_mnt = NULL;
> -		return rc;
> -	}
> -
> -	b_dev_info.inode->i_mapping->a_ops = &balloon_aops;


Are you missing similar updates to drivers/virtio/virtio_balloon.c ?

At least, there we're also using balloon_aops, so this patch shouldn't
compile.


Skimming over it, nothing else jumped at me.

-- 
Thanks,

David / dhildenb


WARNING: multiple messages have this Message-ID (diff)
From: David Hildenbrand <david@redhat.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: linux-aio@kvack.org, linux-nfs@vger.kernel.org,
	cluster-devel@redhat.com, Rafael Aquini <aquini@redhat.com>,
	Minchan Kim <minchan@kernel.org>,
	linux-ntfs-dev@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net,
	linux-block@vger.kernel.org, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, ocfs2-devel@oss.oracle.com,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 15/20] balloon: Convert to migrate_folio
Date: Wed, 8 Jun 2022 11:59:31 +0200	[thread overview]
Message-ID: <36cc5e2b-b768-ce1c-fa30-72a932587289@redhat.com> (raw)
In-Reply-To: <Yp+lU55H4igaV3pB@casper.infradead.org>

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.

@Rafael, full mail at

https://lkml.kernel.org/r/Yp+lU55H4igaV3pB@casper.infradead.org

> 
> Well, that went more smoothly than I thought it would.
> 
> I can't see a nice way to split this patch up (other than making secretmem
> its own patch).  We just don't have enough bits in struct page to support
> both ways of handling PageMovable at the same time, so we can't convert
> one driver at a time.  The diffstat is pretty compelling.

Yes, splitting rather overcomplicates stuff.

> 
> The patch is on top of this patch series; I think it probably makes
> sense to shuffle it to be first, to avoid changing these drivers to
> folios, then changing them back.

Absolutely.

> 
> Questions:
> 
> Is what I've done with zsmalloc acceptable?  The locking in that
> file is rather complex.
> 
> Can we now eliminate balloon_mnt / balloon_fs from cmm.c?  I haven't even
> compiled thatfile , but it seems like the filesystem serves no use now.
> 
> Similar question for vmw_balloon.c, although I have compiled that.

IIRC, virtio-balloon, cmm and vmw_balloon all have the mnt/fs just for
page migration purposes. So if one can get rid of them, all should be
able to get rid of them. Essentially everything that uses the balloon
compaction framework.

That should go into separate patches then.

> 
> ---
> 
> I just spotted a bug with zs_unregister_migration(); it won't compile
> without CONFIG_MIGRATION.  I'll fix that up if the general approach is
> acceptable.
> 
>  arch/powerpc/platforms/pseries/cmm.c |   13 --------
>  drivers/misc/vmw_balloon.c           |   10 ------
>  include/linux/balloon_compaction.h   |    6 +---
>  include/linux/fs.h                   |    2 -
>  include/linux/migrate.h              |   27 ++++++++++++++----
>  include/linux/page-flags.h           |    2 -
>  mm/balloon_compaction.c              |   18 ++++++------
>  mm/compaction.c                      |   29 ++++++++-----------
>  mm/migrate.c                         |   23 ++++++++-------
>  mm/secretmem.c                       |    6 ----
>  mm/util.c                            |    4 +-
>  mm/z3fold.c                          |   45 ++++++------------------------
>  mm/zsmalloc.c                        |   52 +++++++++--------------------------
>  13 files changed, 83 insertions(+), 154 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/pseries/cmm.c b/arch/powerpc/platforms/pseries/cmm.c
> index 15ed8206c463..2ecbab3db723 100644
> --- a/arch/powerpc/platforms/pseries/cmm.c
> +++ b/arch/powerpc/platforms/pseries/cmm.c
> @@ -578,23 +578,10 @@ static int cmm_balloon_compaction_init(void)
>  		return rc;
>  	}
>  
> -	b_dev_info.inode = alloc_anon_inode(balloon_mnt->mnt_sb);
> -	if (IS_ERR(b_dev_info.inode)) {
> -		rc = PTR_ERR(b_dev_info.inode);
> -		b_dev_info.inode = NULL;
> -		kern_unmount(balloon_mnt);
> -		balloon_mnt = NULL;
> -		return rc;
> -	}
> -
> -	b_dev_info.inode->i_mapping->a_ops = &balloon_aops;


Are you missing similar updates to drivers/virtio/virtio_balloon.c ?

At least, there we're also using balloon_aops, so this patch shouldn't
compile.


Skimming over it, nothing else jumped at me.

-- 
Thanks,

David / dhildenb

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

WARNING: multiple messages have this Message-ID (diff)
From: David Hildenbrand via Ocfs2-devel <ocfs2-devel@oss.oracle.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: linux-aio@kvack.org, linux-nfs@vger.kernel.org,
	cluster-devel@redhat.com, Rafael Aquini <aquini@redhat.com>,
	Minchan Kim <minchan@kernel.org>,
	linux-ntfs-dev@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net,
	linux-block@vger.kernel.org, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, ocfs2-devel@oss.oracle.com,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: [Ocfs2-devel] [PATCH 15/20] balloon: Convert to migrate_folio
Date: Wed, 8 Jun 2022 11:59:31 +0200	[thread overview]
Message-ID: <36cc5e2b-b768-ce1c-fa30-72a932587289@redhat.com> (raw)
In-Reply-To: <Yp+lU55H4igaV3pB@casper.infradead.org>

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.

@Rafael, full mail at

https://lkml.kernel.org/r/Yp+lU55H4igaV3pB@casper.infradead.org

> 
> Well, that went more smoothly than I thought it would.
> 
> I can't see a nice way to split this patch up (other than making secretmem
> its own patch).  We just don't have enough bits in struct page to support
> both ways of handling PageMovable at the same time, so we can't convert
> one driver at a time.  The diffstat is pretty compelling.

Yes, splitting rather overcomplicates stuff.

> 
> The patch is on top of this patch series; I think it probably makes
> sense to shuffle it to be first, to avoid changing these drivers to
> folios, then changing them back.

Absolutely.

> 
> Questions:
> 
> Is what I've done with zsmalloc acceptable?  The locking in that
> file is rather complex.
> 
> Can we now eliminate balloon_mnt / balloon_fs from cmm.c?  I haven't even
> compiled thatfile , but it seems like the filesystem serves no use now.
> 
> Similar question for vmw_balloon.c, although I have compiled that.

IIRC, virtio-balloon, cmm and vmw_balloon all have the mnt/fs just for
page migration purposes. So if one can get rid of them, all should be
able to get rid of them. Essentially everything that uses the balloon
compaction framework.

That should go into separate patches then.

> 
> ---
> 
> I just spotted a bug with zs_unregister_migration(); it won't compile
> without CONFIG_MIGRATION.  I'll fix that up if the general approach is
> acceptable.
> 
>  arch/powerpc/platforms/pseries/cmm.c |   13 --------
>  drivers/misc/vmw_balloon.c           |   10 ------
>  include/linux/balloon_compaction.h   |    6 +---
>  include/linux/fs.h                   |    2 -
>  include/linux/migrate.h              |   27 ++++++++++++++----
>  include/linux/page-flags.h           |    2 -
>  mm/balloon_compaction.c              |   18 ++++++------
>  mm/compaction.c                      |   29 ++++++++-----------
>  mm/migrate.c                         |   23 ++++++++-------
>  mm/secretmem.c                       |    6 ----
>  mm/util.c                            |    4 +-
>  mm/z3fold.c                          |   45 ++++++------------------------
>  mm/zsmalloc.c                        |   52 +++++++++--------------------------
>  13 files changed, 83 insertions(+), 154 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/pseries/cmm.c b/arch/powerpc/platforms/pseries/cmm.c
> index 15ed8206c463..2ecbab3db723 100644
> --- a/arch/powerpc/platforms/pseries/cmm.c
> +++ b/arch/powerpc/platforms/pseries/cmm.c
> @@ -578,23 +578,10 @@ static int cmm_balloon_compaction_init(void)
>  		return rc;
>  	}
>  
> -	b_dev_info.inode = alloc_anon_inode(balloon_mnt->mnt_sb);
> -	if (IS_ERR(b_dev_info.inode)) {
> -		rc = PTR_ERR(b_dev_info.inode);
> -		b_dev_info.inode = NULL;
> -		kern_unmount(balloon_mnt);
> -		balloon_mnt = NULL;
> -		return rc;
> -	}
> -
> -	b_dev_info.inode->i_mapping->a_ops = &balloon_aops;


Are you missing similar updates to drivers/virtio/virtio_balloon.c ?

At least, there we're also using balloon_aops, so this patch shouldn't
compile.


Skimming over it, nothing else jumped at me.

-- 
Thanks,

David / dhildenb


_______________________________________________
Ocfs2-devel mailing list
Ocfs2-devel@oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel

WARNING: multiple messages have this Message-ID (diff)
From: David Hildenbrand <david@redhat.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: linux-aio@kvack.org, linux-nfs@vger.kernel.org,
	cluster-devel@redhat.com, Rafael Aquini <aquini@redhat.com>,
	Minchan Kim <minchan@kernel.org>,
	linux-ntfs-dev@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net,
	linux-block@vger.kernel.org, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, ocfs2-devel@oss.oracle.com,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: [f2fs-dev] [PATCH 15/20] balloon: Convert to migrate_folio
Date: Wed, 8 Jun 2022 11:59:31 +0200	[thread overview]
Message-ID: <36cc5e2b-b768-ce1c-fa30-72a932587289@redhat.com> (raw)
In-Reply-To: <Yp+lU55H4igaV3pB@casper.infradead.org>

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.

@Rafael, full mail at

https://lkml.kernel.org/r/Yp+lU55H4igaV3pB@casper.infradead.org

> 
> Well, that went more smoothly than I thought it would.
> 
> I can't see a nice way to split this patch up (other than making secretmem
> its own patch).  We just don't have enough bits in struct page to support
> both ways of handling PageMovable at the same time, so we can't convert
> one driver at a time.  The diffstat is pretty compelling.

Yes, splitting rather overcomplicates stuff.

> 
> The patch is on top of this patch series; I think it probably makes
> sense to shuffle it to be first, to avoid changing these drivers to
> folios, then changing them back.

Absolutely.

> 
> Questions:
> 
> Is what I've done with zsmalloc acceptable?  The locking in that
> file is rather complex.
> 
> Can we now eliminate balloon_mnt / balloon_fs from cmm.c?  I haven't even
> compiled thatfile , but it seems like the filesystem serves no use now.
> 
> Similar question for vmw_balloon.c, although I have compiled that.

IIRC, virtio-balloon, cmm and vmw_balloon all have the mnt/fs just for
page migration purposes. So if one can get rid of them, all should be
able to get rid of them. Essentially everything that uses the balloon
compaction framework.

That should go into separate patches then.

> 
> ---
> 
> I just spotted a bug with zs_unregister_migration(); it won't compile
> without CONFIG_MIGRATION.  I'll fix that up if the general approach is
> acceptable.
> 
>  arch/powerpc/platforms/pseries/cmm.c |   13 --------
>  drivers/misc/vmw_balloon.c           |   10 ------
>  include/linux/balloon_compaction.h   |    6 +---
>  include/linux/fs.h                   |    2 -
>  include/linux/migrate.h              |   27 ++++++++++++++----
>  include/linux/page-flags.h           |    2 -
>  mm/balloon_compaction.c              |   18 ++++++------
>  mm/compaction.c                      |   29 ++++++++-----------
>  mm/migrate.c                         |   23 ++++++++-------
>  mm/secretmem.c                       |    6 ----
>  mm/util.c                            |    4 +-
>  mm/z3fold.c                          |   45 ++++++------------------------
>  mm/zsmalloc.c                        |   52 +++++++++--------------------------
>  13 files changed, 83 insertions(+), 154 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/pseries/cmm.c b/arch/powerpc/platforms/pseries/cmm.c
> index 15ed8206c463..2ecbab3db723 100644
> --- a/arch/powerpc/platforms/pseries/cmm.c
> +++ b/arch/powerpc/platforms/pseries/cmm.c
> @@ -578,23 +578,10 @@ static int cmm_balloon_compaction_init(void)
>  		return rc;
>  	}
>  
> -	b_dev_info.inode = alloc_anon_inode(balloon_mnt->mnt_sb);
> -	if (IS_ERR(b_dev_info.inode)) {
> -		rc = PTR_ERR(b_dev_info.inode);
> -		b_dev_info.inode = NULL;
> -		kern_unmount(balloon_mnt);
> -		balloon_mnt = NULL;
> -		return rc;
> -	}
> -
> -	b_dev_info.inode->i_mapping->a_ops = &balloon_aops;


Are you missing similar updates to drivers/virtio/virtio_balloon.c ?

At least, there we're also using balloon_aops, so this patch shouldn't
compile.


Skimming over it, nothing else jumped at me.

-- 
Thanks,

David / dhildenb



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

WARNING: multiple messages have this Message-ID (diff)
From: David Hildenbrand <david@redhat.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org, linux-aio@kvack.org,
	linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com,
	linux-mm@kvack.org, linux-xfs@vger.kernel.org,
	linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net,
	ocfs2-devel@oss.oracle.com, linux-mtd@lists.infradead.org,
	virtualization@lists.linux-foundation.org,
	Minchan Kim <minchan@kernel.org>,
	Rafael Aquini <aquini@redhat.com>
Subject: Re: [PATCH 15/20] balloon: Convert to migrate_folio
Date: Wed, 8 Jun 2022 11:59:31 +0200	[thread overview]
Message-ID: <36cc5e2b-b768-ce1c-fa30-72a932587289@redhat.com> (raw)
In-Reply-To: <Yp+lU55H4igaV3pB@casper.infradead.org>

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.

@Rafael, full mail at

https://lkml.kernel.org/r/Yp+lU55H4igaV3pB@casper.infradead.org

> 
> Well, that went more smoothly than I thought it would.
> 
> I can't see a nice way to split this patch up (other than making secretmem
> its own patch).  We just don't have enough bits in struct page to support
> both ways of handling PageMovable at the same time, so we can't convert
> one driver at a time.  The diffstat is pretty compelling.

Yes, splitting rather overcomplicates stuff.

> 
> The patch is on top of this patch series; I think it probably makes
> sense to shuffle it to be first, to avoid changing these drivers to
> folios, then changing them back.

Absolutely.

> 
> Questions:
> 
> Is what I've done with zsmalloc acceptable?  The locking in that
> file is rather complex.
> 
> Can we now eliminate balloon_mnt / balloon_fs from cmm.c?  I haven't even
> compiled thatfile , but it seems like the filesystem serves no use now.
> 
> Similar question for vmw_balloon.c, although I have compiled that.

IIRC, virtio-balloon, cmm and vmw_balloon all have the mnt/fs just for
page migration purposes. So if one can get rid of them, all should be
able to get rid of them. Essentially everything that uses the balloon
compaction framework.

That should go into separate patches then.

> 
> ---
> 
> I just spotted a bug with zs_unregister_migration(); it won't compile
> without CONFIG_MIGRATION.  I'll fix that up if the general approach is
> acceptable.
> 
>  arch/powerpc/platforms/pseries/cmm.c |   13 --------
>  drivers/misc/vmw_balloon.c           |   10 ------
>  include/linux/balloon_compaction.h   |    6 +---
>  include/linux/fs.h                   |    2 -
>  include/linux/migrate.h              |   27 ++++++++++++++----
>  include/linux/page-flags.h           |    2 -
>  mm/balloon_compaction.c              |   18 ++++++------
>  mm/compaction.c                      |   29 ++++++++-----------
>  mm/migrate.c                         |   23 ++++++++-------
>  mm/secretmem.c                       |    6 ----
>  mm/util.c                            |    4 +-
>  mm/z3fold.c                          |   45 ++++++------------------------
>  mm/zsmalloc.c                        |   52 +++++++++--------------------------
>  13 files changed, 83 insertions(+), 154 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/pseries/cmm.c b/arch/powerpc/platforms/pseries/cmm.c
> index 15ed8206c463..2ecbab3db723 100644
> --- a/arch/powerpc/platforms/pseries/cmm.c
> +++ b/arch/powerpc/platforms/pseries/cmm.c
> @@ -578,23 +578,10 @@ static int cmm_balloon_compaction_init(void)
>  		return rc;
>  	}
>  
> -	b_dev_info.inode = alloc_anon_inode(balloon_mnt->mnt_sb);
> -	if (IS_ERR(b_dev_info.inode)) {
> -		rc = PTR_ERR(b_dev_info.inode);
> -		b_dev_info.inode = NULL;
> -		kern_unmount(balloon_mnt);
> -		balloon_mnt = NULL;
> -		return rc;
> -	}
> -
> -	b_dev_info.inode->i_mapping->a_ops = &balloon_aops;


Are you missing similar updates to drivers/virtio/virtio_balloon.c ?

At least, there we're also using balloon_aops, so this patch shouldn't
compile.


Skimming over it, nothing else jumped at me.

-- 
Thanks,

David / dhildenb


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: David Hildenbrand <david@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH 15/20] balloon: Convert to migrate_folio
Date: Wed, 8 Jun 2022 11:59:31 +0200	[thread overview]
Message-ID: <36cc5e2b-b768-ce1c-fa30-72a932587289@redhat.com> (raw)
In-Reply-To: <Yp+lU55H4igaV3pB@casper.infradead.org>

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.

@Rafael, full mail at

https://lkml.kernel.org/r/Yp+lU55H4igaV3pB at casper.infradead.org

> 
> Well, that went more smoothly than I thought it would.
> 
> I can't see a nice way to split this patch up (other than making secretmem
> its own patch).  We just don't have enough bits in struct page to support
> both ways of handling PageMovable at the same time, so we can't convert
> one driver at a time.  The diffstat is pretty compelling.

Yes, splitting rather overcomplicates stuff.

> 
> The patch is on top of this patch series; I think it probably makes
> sense to shuffle it to be first, to avoid changing these drivers to
> folios, then changing them back.

Absolutely.

> 
> Questions:
> 
> Is what I've done with zsmalloc acceptable?  The locking in that
> file is rather complex.
> 
> Can we now eliminate balloon_mnt / balloon_fs from cmm.c?  I haven't even
> compiled thatfile , but it seems like the filesystem serves no use now.
> 
> Similar question for vmw_balloon.c, although I have compiled that.

IIRC, virtio-balloon, cmm and vmw_balloon all have the mnt/fs just for
page migration purposes. So if one can get rid of them, all should be
able to get rid of them. Essentially everything that uses the balloon
compaction framework.

That should go into separate patches then.

> 
> ---
> 
> I just spotted a bug with zs_unregister_migration(); it won't compile
> without CONFIG_MIGRATION.  I'll fix that up if the general approach is
> acceptable.
> 
>  arch/powerpc/platforms/pseries/cmm.c |   13 --------
>  drivers/misc/vmw_balloon.c           |   10 ------
>  include/linux/balloon_compaction.h   |    6 +---
>  include/linux/fs.h                   |    2 -
>  include/linux/migrate.h              |   27 ++++++++++++++----
>  include/linux/page-flags.h           |    2 -
>  mm/balloon_compaction.c              |   18 ++++++------
>  mm/compaction.c                      |   29 ++++++++-----------
>  mm/migrate.c                         |   23 ++++++++-------
>  mm/secretmem.c                       |    6 ----
>  mm/util.c                            |    4 +-
>  mm/z3fold.c                          |   45 ++++++------------------------
>  mm/zsmalloc.c                        |   52 +++++++++--------------------------
>  13 files changed, 83 insertions(+), 154 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/pseries/cmm.c b/arch/powerpc/platforms/pseries/cmm.c
> index 15ed8206c463..2ecbab3db723 100644
> --- a/arch/powerpc/platforms/pseries/cmm.c
> +++ b/arch/powerpc/platforms/pseries/cmm.c
> @@ -578,23 +578,10 @@ static int cmm_balloon_compaction_init(void)
>  		return rc;
>  	}
>  
> -	b_dev_info.inode = alloc_anon_inode(balloon_mnt->mnt_sb);
> -	if (IS_ERR(b_dev_info.inode)) {
> -		rc = PTR_ERR(b_dev_info.inode);
> -		b_dev_info.inode = NULL;
> -		kern_unmount(balloon_mnt);
> -		balloon_mnt = NULL;
> -		return rc;
> -	}
> -
> -	b_dev_info.inode->i_mapping->a_ops = &balloon_aops;


Are you missing similar updates to drivers/virtio/virtio_balloon.c ?

At least, there we're also using balloon_aops, so this patch shouldn't
compile.


Skimming over it, nothing else jumped at me.

-- 
Thanks,

David / dhildenb


  reply	other threads:[~2022-06-08 10:14 UTC|newest]

Thread overview: 281+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-06 20:40 [Ocfs2-devel] [PATCH 00/20] Convert aops->migratepage to aops->migrate_folio Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40 ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40 ` Matthew Wilcox (Oracle)
2022-06-06 20:40 ` Matthew Wilcox (Oracle)
2022-06-06 20:40 ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40 ` Matthew Wilcox (Oracle)
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 01/20] fs: Add aops->migrate_folio Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-08  8:09   ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:09     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:09     ` Christoph Hellwig
2022-06-08  8:09     ` Christoph Hellwig
2022-06-08  8:09     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:09     ` Christoph Hellwig
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 02/20] mm/migrate: Convert fallback_migrate_page() to fallback_migrate_folio() Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-08  8:11   ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:11     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:11     ` Christoph Hellwig
2022-06-08  8:11     ` Christoph Hellwig
2022-06-08  8:11     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:11     ` Christoph Hellwig
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 03/20] mm/migrate: Convert writeout() to take a folio Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-08  8:11   ` Christoph Hellwig
2022-06-08  8:11     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:11     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:11     ` Christoph Hellwig
2022-06-08  8:11     ` Christoph Hellwig
2022-06-08  8:11     ` [f2fs-dev] " Christoph Hellwig
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 04/20] mm/migrate: Convert buffer_migrate_page() to buffer_migrate_folio() Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-07  3:37   ` kernel test robot
2022-06-07  3:37     ` [Cluster-devel] " kernel test robot
2022-06-07  3:37     ` [Ocfs2-devel] " kernel test robot via Ocfs2-devel
2022-06-07  3:37     ` kernel test robot
2022-06-07  3:37     ` kernel test robot
2022-06-07  3:37     ` [f2fs-dev] " kernel test robot
2022-06-07 14:57     ` Matthew Wilcox
2022-06-07 14:57       ` [Cluster-devel] " Matthew Wilcox
2022-06-07 14:57       ` Matthew Wilcox
2022-06-07 14:57       ` [f2fs-dev] " Matthew Wilcox
2022-06-07 14:57       ` Matthew Wilcox
2022-06-07 14:57       ` [Ocfs2-devel] " Matthew Wilcox via Ocfs2-devel
2022-06-07 14:57       ` Matthew Wilcox
2022-06-07  8:01   ` kernel test robot
2022-06-07  8:01     ` [Cluster-devel] " kernel test robot
2022-06-07  8:01     ` kernel test robot
2022-06-07  8:01     ` [Ocfs2-devel] " kernel test robot via Ocfs2-devel
2022-06-07  8:01     ` kernel test robot
2022-06-07  8:01     ` [f2fs-dev] " kernel test robot
2022-06-08  8:12   ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:12     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:12     ` Christoph Hellwig
2022-06-08  8:12     ` Christoph Hellwig
2022-06-08  8:12     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:12     ` Christoph Hellwig
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 05/20] mm/migrate: Convert expected_page_refs() to folio_expected_refs() Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-07 13:41   ` Brian Foster
2022-06-07 13:41     ` [Cluster-devel] " Brian Foster
2022-06-07 13:41     ` Brian Foster
2022-06-07 13:41     ` Brian Foster
2022-06-07 13:41     ` [f2fs-dev] " Brian Foster
2022-06-07 13:41     ` [Ocfs2-devel] " Brian Foster via Ocfs2-devel
2022-06-07 14:11     ` Matthew Wilcox
2022-06-07 14:11       ` [Cluster-devel] " Matthew Wilcox
2022-06-07 14:11       ` [Ocfs2-devel] " Matthew Wilcox via Ocfs2-devel
2022-06-07 14:11       ` Matthew Wilcox
2022-06-07 14:11       ` Matthew Wilcox
2022-06-07 14:11       ` [f2fs-dev] " Matthew Wilcox
2022-06-08  8:14   ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:14     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:14     ` Christoph Hellwig
2022-06-08  8:14     ` Christoph Hellwig
2022-06-08  8:14     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:14     ` Christoph Hellwig
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 06/20] btrfs: Convert btree_migratepage to migrate_folio Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-08  8:16   ` Christoph Hellwig
2022-06-08  8:16     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:16     ` Christoph Hellwig
2022-06-08  8:16     ` Christoph Hellwig
2022-06-08  8:16     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:16     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 07/20] nfs: Convert " Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-07 19:02   ` Anna Schumaker
2022-06-07 19:02     ` [Cluster-devel] " Anna Schumaker
2022-06-07 19:02     ` Anna Schumaker
2022-06-07 19:02     ` [f2fs-dev] " Anna Schumaker
2022-06-08  8:17   ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:17     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:17     ` Christoph Hellwig
2022-06-08  8:17     ` Christoph Hellwig
2022-06-08  8:17     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:17     ` Christoph Hellwig
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 08/20] mm/migrate: Convert migrate_page() to migrate_folio() Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-08  8:18   ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:18     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:18     ` Christoph Hellwig
2022-06-08  8:18     ` Christoph Hellwig
2022-06-08  8:18     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:18     ` Christoph Hellwig
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 09/20] mm/migrate: Add filemap_migrate_folio() Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-08  8:19   ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:19     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:19     ` Christoph Hellwig
2022-06-08  8:19     ` Christoph Hellwig
2022-06-08  8:19     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:19     ` Christoph Hellwig
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 10/20] btrfs: Convert btrfs_migratepage to migrate_folio Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-08  8:19   ` Christoph Hellwig
2022-06-08  8:19     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:19     ` Christoph Hellwig
2022-06-08  8:19     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:19     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:19     ` Christoph Hellwig
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 11/20] ubifs: Convert to filemap_migrate_folio() Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 12/20] f2fs: " Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 13/20] aio: Convert to migrate_folio Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-08  8:20   ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:20     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:20     ` Christoph Hellwig
2022-06-08  8:20     ` Christoph Hellwig
2022-06-08  8:20     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:20     ` Christoph Hellwig
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 14/20] hugetlb: " Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-07  6:13   ` kernel test robot
2022-06-07  6:13     ` [Cluster-devel] " kernel test robot
2022-06-07  6:13     ` kernel test robot
2022-06-07  6:13     ` kernel test robot
2022-06-07  6:13     ` [f2fs-dev] " kernel test robot
2022-06-07  6:13     ` [Ocfs2-devel] " kernel test robot via Ocfs2-devel
2022-06-07 15:02     ` Matthew Wilcox
2022-06-07 15:02       ` [Cluster-devel] " Matthew Wilcox
2022-06-07 15:02       ` Matthew Wilcox
2022-06-07 15:02       ` [f2fs-dev] " Matthew Wilcox
2022-06-07 15:02       ` Matthew Wilcox
2022-06-07 15:02       ` Matthew Wilcox
2022-06-07 15:02       ` [Ocfs2-devel] " Matthew Wilcox via Ocfs2-devel
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 15/20] balloon: " Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-07  7:36   ` David Hildenbrand
2022-06-07  7:36     ` [Cluster-devel] " David Hildenbrand
2022-06-07  7:36     ` David Hildenbrand
2022-06-07  7:36     ` [Ocfs2-devel] " David Hildenbrand via Ocfs2-devel
2022-06-07  7:36     ` David Hildenbrand
2022-06-07  7:36     ` [f2fs-dev] " David Hildenbrand
2022-06-07 14:24     ` Matthew Wilcox
2022-06-07 14:24       ` [Cluster-devel] " Matthew Wilcox
2022-06-07 14:24       ` Matthew Wilcox
2022-06-07 14:24       ` Matthew Wilcox
2022-06-07 14:24       ` [f2fs-dev] " Matthew Wilcox
2022-06-07 14:24       ` [Ocfs2-devel] " Matthew Wilcox via Ocfs2-devel
2022-06-07 19:21       ` Matthew Wilcox via Ocfs2-devel
2022-06-07 19:21         ` [Cluster-devel] " Matthew Wilcox
2022-06-07 19:21         ` Matthew Wilcox
2022-06-07 19:21         ` Matthew Wilcox
2022-06-07 19:21         ` [f2fs-dev] " Matthew Wilcox
2022-06-07 19:21         ` Matthew Wilcox
2022-06-08  9:59         ` David Hildenbrand [this message]
2022-06-08  9:59           ` [Cluster-devel] " David Hildenbrand
2022-06-08  9:59           ` David Hildenbrand
2022-06-08  9:59           ` [f2fs-dev] " David Hildenbrand
2022-06-08  9:59           ` [Ocfs2-devel] " David Hildenbrand via Ocfs2-devel
2022-06-08  9:59           ` David Hildenbrand
2022-06-08 13:06           ` Rafael Aquini
2022-06-08 13:06             ` [Cluster-devel] " Rafael Aquini
2022-06-08 13:06             ` Rafael Aquini
2022-06-08 13:06             ` Rafael Aquini
2022-06-08 13:06             ` [f2fs-dev] " Rafael Aquini
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 16/20] secretmem: " Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 17/20] z3fold: " Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 18/20] zsmalloc: " Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 19/20] fs: Remove aops->migratepage() Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-08  8:21   ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:21     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:21     ` Christoph Hellwig
2022-06-08  8:21     ` Christoph Hellwig
2022-06-08  8:21     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:21     ` Christoph Hellwig
2022-06-06 20:40 ` [Ocfs2-devel] [PATCH 20/20] mm/folio-compat: Remove migration compatibility functions Matthew Wilcox (Oracle) via Ocfs2-devel
2022-06-06 20:40   ` [Cluster-devel] " Matthew Wilcox
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-06 20:40   ` [f2fs-dev] " Matthew Wilcox (Oracle)
2022-06-06 20:40   ` Matthew Wilcox (Oracle)
2022-06-08  8:22   ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-06-08  8:22     ` [Cluster-devel] " Christoph Hellwig
2022-06-08  8:22     ` Christoph Hellwig
2022-06-08  8:22     ` Christoph Hellwig
2022-06-08  8:22     ` [f2fs-dev] " Christoph Hellwig
2022-06-08  8:22     ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=36cc5e2b-b768-ce1c-fa30-72a932587289@redhat.com \
    --to=david@redhat.com \
    --cc=aquini@redhat.com \
    --cc=cluster-devel@redhat.com \
    --cc=linux-aio@kvack.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-ntfs-dev@lists.sourceforge.net \
    --cc=linux-xfs@vger.kernel.org \
    --cc=minchan@kernel.org \
    --cc=ocfs2-devel@oss.oracle.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.