All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zi Yan <ziy@nvidia.com>
To: David Hildenbrand <david@redhat.com>
Cc: Mike Rapoport <rppt@kernel.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	linuxppc-dev@lists.ozlabs.org,
	virtualization@lists.linux-foundation.org,
	iommu@lists.linux-foundation.org,
	Vlastimil Babka <vbabka@suse.cz>,
	Mel Gorman <mgorman@techsingularity.net>,
	Eric Ren <renzhengeek@gmail.com>
Subject: Re: [RFC PATCH v3 1/8] mm: page_alloc: avoid merging non-fallbackable pageblocks with others.
Date: Thu, 13 Jan 2022 09:50:10 -0500	[thread overview]
Message-ID: <AF721DC0-B618-4ECC-8752-87D413E203A7@nvidia.com> (raw)
In-Reply-To: <ae2862a0-c39c-ed2f-23fe-510c6c2fad5c@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2377 bytes --]

On 13 Jan 2022, at 7:28, David Hildenbrand wrote:

> On 13.01.22 12:36, Mike Rapoport wrote:
>> On Wed, Jan 12, 2022 at 11:54:49AM +0100, David Hildenbrand wrote:
>>> On 05.01.22 22:47, Zi Yan wrote:
>>>> From: Zi Yan <ziy@nvidia.com>
>>>>
>>>> This is done in addition to MIGRATE_ISOLATE pageblock merge avoidance.
>>>> It prepares for the upcoming removal of the MAX_ORDER-1 alignment
>>>> requirement for CMA and alloc_contig_range().
>>>>
>>>> MIGRARTE_HIGHATOMIC should not merge with other migratetypes like
>>>> MIGRATE_ISOLATE and MIGRARTE_CMA[1], so this commit prevents that too.
>>>> Also add MIGRARTE_HIGHATOMIC to fallbacks array for completeness.
>>>>
>>>> [1] https://lore.kernel.org/linux-mm/20211130100853.GP3366@techsingularity.net/
>>>>
>>>> Signed-off-by: Zi Yan <ziy@nvidia.com>
>>>> ---
>>>>  include/linux/mmzone.h |  6 ++++++
>>>>  mm/page_alloc.c        | 28 ++++++++++++++++++----------
>>>>  2 files changed, 24 insertions(+), 10 deletions(-)
>>>>
>>
>> ...
>>
>>>> @@ -3545,8 +3553,8 @@ int __isolate_free_page(struct page *page, unsigned int order)
>>>>  		struct page *endpage = page + (1 << order) - 1;
>>>>  		for (; page < endpage; page += pageblock_nr_pages) {
>>>>  			int mt = get_pageblock_migratetype(page);
>>>> -			if (!is_migrate_isolate(mt) && !is_migrate_cma(mt)
>>>> -			    && !is_migrate_highatomic(mt))
>>>> +			/* Only change normal pageblock */
>>>> +			if (migratetype_has_fallback(mt))
>>>>  				set_pageblock_migratetype(page,
>>>>  							  MIGRATE_MOVABLE);
>>>>  		}
>>>
>>> That part is a nice cleanup IMHO. Although the "has fallback" part is a
>>> bit imprecise. "migratetype_is_mergable()" might be a bit clearer.
>>> ideally "migratetype_is_mergable_with_other_types()". Can we come up
>>> with a nice name for that?
>>
>> migratetype_is_mergable() kinda implies "_with_other_types", no?
>>
>> I like migratetype_is_mergable() more than _has_fallback().
>>
>> My $0.02 to bikeshedding :)
>
> :)
>
> Yeah, for me migratetype_is_mergable() would also be good enough. I
> think I was at first thinking one could mistake it with a dedicated
> migratetype. But such functions are historically called
>
> is_migrate_cma/is_migrate_cma/....
>
> -- 
> Thanks,
>
> David / dhildenb

OK. Will use migratetype_is_mergable() instead.


--
Best Regards,
Yan, Zi

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 854 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Zi Yan via iommu <iommu@lists.linux-foundation.org>
To: David Hildenbrand <david@redhat.com>
Cc: Mel Gorman <mgorman@techsingularity.net>,
	Michael Ellerman <mpe@ellerman.id.au>,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org, linux-mm@kvack.org,
	iommu@lists.linux-foundation.org,
	Vlastimil Babka <vbabka@suse.cz>,
	Eric Ren <renzhengeek@gmail.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Hellwig <hch@lst.de>, Mike Rapoport <rppt@kernel.org>
Subject: Re: [RFC PATCH v3 1/8] mm: page_alloc: avoid merging non-fallbackable pageblocks with others.
Date: Thu, 13 Jan 2022 09:50:10 -0500	[thread overview]
Message-ID: <AF721DC0-B618-4ECC-8752-87D413E203A7@nvidia.com> (raw)
In-Reply-To: <ae2862a0-c39c-ed2f-23fe-510c6c2fad5c@redhat.com>


[-- Attachment #1.1: Type: text/plain, Size: 2377 bytes --]

On 13 Jan 2022, at 7:28, David Hildenbrand wrote:

> On 13.01.22 12:36, Mike Rapoport wrote:
>> On Wed, Jan 12, 2022 at 11:54:49AM +0100, David Hildenbrand wrote:
>>> On 05.01.22 22:47, Zi Yan wrote:
>>>> From: Zi Yan <ziy@nvidia.com>
>>>>
>>>> This is done in addition to MIGRATE_ISOLATE pageblock merge avoidance.
>>>> It prepares for the upcoming removal of the MAX_ORDER-1 alignment
>>>> requirement for CMA and alloc_contig_range().
>>>>
>>>> MIGRARTE_HIGHATOMIC should not merge with other migratetypes like
>>>> MIGRATE_ISOLATE and MIGRARTE_CMA[1], so this commit prevents that too.
>>>> Also add MIGRARTE_HIGHATOMIC to fallbacks array for completeness.
>>>>
>>>> [1] https://lore.kernel.org/linux-mm/20211130100853.GP3366@techsingularity.net/
>>>>
>>>> Signed-off-by: Zi Yan <ziy@nvidia.com>
>>>> ---
>>>>  include/linux/mmzone.h |  6 ++++++
>>>>  mm/page_alloc.c        | 28 ++++++++++++++++++----------
>>>>  2 files changed, 24 insertions(+), 10 deletions(-)
>>>>
>>
>> ...
>>
>>>> @@ -3545,8 +3553,8 @@ int __isolate_free_page(struct page *page, unsigned int order)
>>>>  		struct page *endpage = page + (1 << order) - 1;
>>>>  		for (; page < endpage; page += pageblock_nr_pages) {
>>>>  			int mt = get_pageblock_migratetype(page);
>>>> -			if (!is_migrate_isolate(mt) && !is_migrate_cma(mt)
>>>> -			    && !is_migrate_highatomic(mt))
>>>> +			/* Only change normal pageblock */
>>>> +			if (migratetype_has_fallback(mt))
>>>>  				set_pageblock_migratetype(page,
>>>>  							  MIGRATE_MOVABLE);
>>>>  		}
>>>
>>> That part is a nice cleanup IMHO. Although the "has fallback" part is a
>>> bit imprecise. "migratetype_is_mergable()" might be a bit clearer.
>>> ideally "migratetype_is_mergable_with_other_types()". Can we come up
>>> with a nice name for that?
>>
>> migratetype_is_mergable() kinda implies "_with_other_types", no?
>>
>> I like migratetype_is_mergable() more than _has_fallback().
>>
>> My $0.02 to bikeshedding :)
>
> :)
>
> Yeah, for me migratetype_is_mergable() would also be good enough. I
> think I was at first thinking one could mistake it with a dedicated
> migratetype. But such functions are historically called
>
> is_migrate_cma/is_migrate_cma/....
>
> -- 
> Thanks,
>
> David / dhildenb

OK. Will use migratetype_is_mergable() instead.


--
Best Regards,
Yan, Zi

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 854 bytes --]

[-- Attachment #2: Type: text/plain, Size: 156 bytes --]

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

WARNING: multiple messages have this Message-ID (diff)
From: Zi Yan <ziy@nvidia.com>
To: David Hildenbrand <david@redhat.com>
Cc: Mel Gorman <mgorman@techsingularity.net>,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org, linux-mm@kvack.org,
	iommu@lists.linux-foundation.org,
	Vlastimil Babka <vbabka@suse.cz>,
	Eric Ren <renzhengeek@gmail.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Hellwig <hch@lst.de>, Mike Rapoport <rppt@kernel.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>
Subject: Re: [RFC PATCH v3 1/8] mm: page_alloc: avoid merging non-fallbackable pageblocks with others.
Date: Thu, 13 Jan 2022 09:50:10 -0500	[thread overview]
Message-ID: <AF721DC0-B618-4ECC-8752-87D413E203A7@nvidia.com> (raw)
In-Reply-To: <ae2862a0-c39c-ed2f-23fe-510c6c2fad5c@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2377 bytes --]

On 13 Jan 2022, at 7:28, David Hildenbrand wrote:

> On 13.01.22 12:36, Mike Rapoport wrote:
>> On Wed, Jan 12, 2022 at 11:54:49AM +0100, David Hildenbrand wrote:
>>> On 05.01.22 22:47, Zi Yan wrote:
>>>> From: Zi Yan <ziy@nvidia.com>
>>>>
>>>> This is done in addition to MIGRATE_ISOLATE pageblock merge avoidance.
>>>> It prepares for the upcoming removal of the MAX_ORDER-1 alignment
>>>> requirement for CMA and alloc_contig_range().
>>>>
>>>> MIGRARTE_HIGHATOMIC should not merge with other migratetypes like
>>>> MIGRATE_ISOLATE and MIGRARTE_CMA[1], so this commit prevents that too.
>>>> Also add MIGRARTE_HIGHATOMIC to fallbacks array for completeness.
>>>>
>>>> [1] https://lore.kernel.org/linux-mm/20211130100853.GP3366@techsingularity.net/
>>>>
>>>> Signed-off-by: Zi Yan <ziy@nvidia.com>
>>>> ---
>>>>  include/linux/mmzone.h |  6 ++++++
>>>>  mm/page_alloc.c        | 28 ++++++++++++++++++----------
>>>>  2 files changed, 24 insertions(+), 10 deletions(-)
>>>>
>>
>> ...
>>
>>>> @@ -3545,8 +3553,8 @@ int __isolate_free_page(struct page *page, unsigned int order)
>>>>  		struct page *endpage = page + (1 << order) - 1;
>>>>  		for (; page < endpage; page += pageblock_nr_pages) {
>>>>  			int mt = get_pageblock_migratetype(page);
>>>> -			if (!is_migrate_isolate(mt) && !is_migrate_cma(mt)
>>>> -			    && !is_migrate_highatomic(mt))
>>>> +			/* Only change normal pageblock */
>>>> +			if (migratetype_has_fallback(mt))
>>>>  				set_pageblock_migratetype(page,
>>>>  							  MIGRATE_MOVABLE);
>>>>  		}
>>>
>>> That part is a nice cleanup IMHO. Although the "has fallback" part is a
>>> bit imprecise. "migratetype_is_mergable()" might be a bit clearer.
>>> ideally "migratetype_is_mergable_with_other_types()". Can we come up
>>> with a nice name for that?
>>
>> migratetype_is_mergable() kinda implies "_with_other_types", no?
>>
>> I like migratetype_is_mergable() more than _has_fallback().
>>
>> My $0.02 to bikeshedding :)
>
> :)
>
> Yeah, for me migratetype_is_mergable() would also be good enough. I
> think I was at first thinking one could mistake it with a dedicated
> migratetype. But such functions are historically called
>
> is_migrate_cma/is_migrate_cma/....
>
> -- 
> Thanks,
>
> David / dhildenb

OK. Will use migratetype_is_mergable() instead.


--
Best Regards,
Yan, Zi

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 854 bytes --]

  reply	other threads:[~2022-01-13 14:50 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-05 21:47 [RFC PATCH v3 0/8] Use pageblock_order for cma and alloc_contig_range alignment Zi Yan
2022-01-05 21:47 ` Zi Yan
2022-01-05 21:47 ` Zi Yan
2022-01-05 21:47 ` [RFC PATCH v3 1/8] mm: page_alloc: avoid merging non-fallbackable pageblocks with others Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-12 10:54   ` David Hildenbrand
2022-01-12 10:54     ` David Hildenbrand
2022-01-12 10:54     ` David Hildenbrand
2022-01-12 10:54     ` David Hildenbrand
2022-01-13 11:36     ` Mike Rapoport
2022-01-13 11:36       ` Mike Rapoport
2022-01-13 11:36       ` Mike Rapoport
2022-01-13 12:28       ` David Hildenbrand
2022-01-13 12:28         ` David Hildenbrand
2022-01-13 12:28         ` David Hildenbrand
2022-01-13 12:28         ` David Hildenbrand
2022-01-13 14:50         ` Zi Yan [this message]
2022-01-13 14:50           ` Zi Yan
2022-01-13 14:50           ` Zi Yan via iommu
2022-01-13 14:49     ` Zi Yan
2022-01-13 14:49       ` Zi Yan
2022-01-13 14:49       ` Zi Yan via iommu
2022-01-05 21:47 ` [RFC PATCH v3 2/8] mm: compaction: handle non-lru compound pages properly in isolate_migratepages_block() Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-12 11:01   ` David Hildenbrand
2022-01-12 11:01     ` David Hildenbrand
2022-01-12 11:01     ` David Hildenbrand
2022-01-12 11:01     ` David Hildenbrand
2022-01-13 14:57     ` Zi Yan
2022-01-13 14:57       ` Zi Yan
2022-01-13 14:57       ` Zi Yan via iommu
2022-01-13 16:23       ` Zi Yan
2022-01-13 16:23         ` Zi Yan
2022-01-13 16:23         ` Zi Yan via iommu
2022-01-05 21:47 ` [RFC PATCH v3 3/8] mm: migrate: allocate the right size of non hugetlb or THP compound pages Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-12 11:04   ` David Hildenbrand
2022-01-12 11:04     ` David Hildenbrand
2022-01-12 11:04     ` David Hildenbrand
2022-01-12 11:04     ` David Hildenbrand
2022-01-13 15:46     ` Zi Yan
2022-01-13 15:46       ` Zi Yan
2022-01-13 15:46       ` Zi Yan via iommu
2022-01-13 15:50       ` David Hildenbrand
2022-01-13 15:50         ` David Hildenbrand
2022-01-13 15:50         ` David Hildenbrand
2022-01-13 15:50         ` David Hildenbrand
2022-01-05 21:47 ` [RFC PATCH v3 4/8] mm: make alloc_contig_range work at pageblock granularity Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-05 21:47 ` [RFC PATCH v3 5/8] mm: page_isolation: check specified range for unmovable pages during isolation Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-14 13:38   ` David Hildenbrand
2022-01-14 13:38     ` David Hildenbrand
2022-01-14 13:38     ` David Hildenbrand
2022-01-14 13:38     ` David Hildenbrand
2022-01-14 15:14     ` Zi Yan
2022-01-14 15:14       ` Zi Yan
2022-01-14 15:14       ` Zi Yan via iommu
2022-01-05 21:47 ` [RFC PATCH v3 6/8] mm: cma: use pageblock_order as the single alignment Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-05 21:47 ` [RFC PATCH v3 7/8] drivers: virtio_mem: use pageblock size as the minimum virtio_mem size Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-14 13:44   ` David Hildenbrand
2022-01-14 13:44     ` David Hildenbrand
2022-01-14 13:44     ` David Hildenbrand
2022-01-14 13:44     ` David Hildenbrand
2022-01-14 15:15     ` Zi Yan
2022-01-14 15:15       ` Zi Yan
2022-01-14 15:15       ` Zi Yan via iommu
2022-01-05 21:47 ` [RFC PATCH v3 8/8] arch: powerpc: adjust fadump alignment to be pageblock aligned Zi Yan
2022-01-05 21:47   ` Zi Yan
2022-01-05 21:47   ` Zi Yan

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=AF721DC0-B618-4ECC-8752-87D413E203A7@nvidia.com \
    --to=ziy@nvidia.com \
    --cc=david@redhat.com \
    --cc=hch@lst.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mgorman@techsingularity.net \
    --cc=mpe@ellerman.id.au \
    --cc=renzhengeek@gmail.com \
    --cc=robin.murphy@arm.com \
    --cc=rppt@kernel.org \
    --cc=vbabka@suse.cz \
    --cc=virtualization@lists.linux-foundation.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.