All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zi Yan <ziy@nvidia.com>
To: David Hildenbrand <david@redhat.com>
Cc: 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 3/8] mm: migrate: allocate the right size of non hugetlb or THP compound pages.
Date: Thu, 13 Jan 2022 10:46:36 -0500	[thread overview]
Message-ID: <15E26B9B-8AE2-4916-94E7-D0BBB2491B1B@nvidia.com> (raw)
In-Reply-To: <970ca2a4-416d-7e8f-37c7-510c5b050f4b@redhat.com>

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

On 12 Jan 2022, at 6:04, David Hildenbrand wrote:

> On 05.01.22 22:47, Zi Yan wrote:
>> From: Zi Yan <ziy@nvidia.com>
>>
>> alloc_migration_target() is used by alloc_contig_range() and non-LRU
>> movable compound pages can be migrated. Current code does not allocate the
>> right page size for such pages. Check THP precisely using
>> is_transparent_huge() and add allocation support for non-LRU compound
>> pages.
>
> IIRC, we don't have any non-lru migratable pages that are coumpound
> pages. Read: not used and not supported :)

OK, but nothing prevents one writing a driver that allocates compound
pages and provides address_space->migratepage() and address_space->isolate_page().

Actually, to test this series, I write a kernel module that allocates
an order-10 page, gives it a fake address_space with migratepage() and
isolate_page(), __SetPageMovable() on it, then call alloc_contig_range()
on the page range. Apparently, my kernel module is not supported by
the kernel, thus, I added this patch.

Do you have an alternative test to my kernel module, so that I do not
even need this patch myself?

> Why is this required in the context of this series?

It might not be required. I will drop it.

--
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,
	Eric Ren <renzhengeek@gmail.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Hellwig <hch@lst.de>, Vlastimil Babka <vbabka@suse.cz>
Subject: Re: [RFC PATCH v3 3/8] mm: migrate: allocate the right size of non hugetlb or THP compound pages.
Date: Thu, 13 Jan 2022 10:46:36 -0500	[thread overview]
Message-ID: <15E26B9B-8AE2-4916-94E7-D0BBB2491B1B@nvidia.com> (raw)
In-Reply-To: <970ca2a4-416d-7e8f-37c7-510c5b050f4b@redhat.com>


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

On 12 Jan 2022, at 6:04, David Hildenbrand wrote:

> On 05.01.22 22:47, Zi Yan wrote:
>> From: Zi Yan <ziy@nvidia.com>
>>
>> alloc_migration_target() is used by alloc_contig_range() and non-LRU
>> movable compound pages can be migrated. Current code does not allocate the
>> right page size for such pages. Check THP precisely using
>> is_transparent_huge() and add allocation support for non-LRU compound
>> pages.
>
> IIRC, we don't have any non-lru migratable pages that are coumpound
> pages. Read: not used and not supported :)

OK, but nothing prevents one writing a driver that allocates compound
pages and provides address_space->migratepage() and address_space->isolate_page().

Actually, to test this series, I write a kernel module that allocates
an order-10 page, gives it a fake address_space with migratepage() and
isolate_page(), __SetPageMovable() on it, then call alloc_contig_range()
on the page range. Apparently, my kernel module is not supported by
the kernel, thus, I added this patch.

Do you have an alternative test to my kernel module, so that I do not
even need this patch myself?

> Why is this required in the context of this series?

It might not be required. I will drop it.

--
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,
	Eric Ren <renzhengeek@gmail.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Hellwig <hch@lst.de>, Vlastimil Babka <vbabka@suse.cz>,
	Marek Szyprowski <m.szyprowski@samsung.com>
Subject: Re: [RFC PATCH v3 3/8] mm: migrate: allocate the right size of non hugetlb or THP compound pages.
Date: Thu, 13 Jan 2022 10:46:36 -0500	[thread overview]
Message-ID: <15E26B9B-8AE2-4916-94E7-D0BBB2491B1B@nvidia.com> (raw)
In-Reply-To: <970ca2a4-416d-7e8f-37c7-510c5b050f4b@redhat.com>

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

On 12 Jan 2022, at 6:04, David Hildenbrand wrote:

> On 05.01.22 22:47, Zi Yan wrote:
>> From: Zi Yan <ziy@nvidia.com>
>>
>> alloc_migration_target() is used by alloc_contig_range() and non-LRU
>> movable compound pages can be migrated. Current code does not allocate the
>> right page size for such pages. Check THP precisely using
>> is_transparent_huge() and add allocation support for non-LRU compound
>> pages.
>
> IIRC, we don't have any non-lru migratable pages that are coumpound
> pages. Read: not used and not supported :)

OK, but nothing prevents one writing a driver that allocates compound
pages and provides address_space->migratepage() and address_space->isolate_page().

Actually, to test this series, I write a kernel module that allocates
an order-10 page, gives it a fake address_space with migratepage() and
isolate_page(), __SetPageMovable() on it, then call alloc_contig_range()
on the page range. Apparently, my kernel module is not supported by
the kernel, thus, I added this patch.

Do you have an alternative test to my kernel module, so that I do not
even need this patch myself?

> Why is this required in the context of this series?

It might not be required. I will drop it.

--
Best Regards,
Yan, Zi

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

  reply	other threads:[~2022-01-13 15:46 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
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 [this message]
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=15E26B9B-8AE2-4916-94E7-D0BBB2491B1B@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=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.