From: Jerome Glisse <jglisse@redhat.com>
To: Robin Murphy <robin.murphy@arm.com>
Cc: mark.rutland@arm.com, mhocko@suse.com,
Anshuman Khandual <anshuman.khandual@arm.com>,
catalin.marinas@arm.com, david@redhat.com, will.deacon@arm.com,
linux-kernel@vger.kernel.org, cai@lca.pw, linux-mm@kvack.org,
logang@deltatee.com, james.morse@arm.com, cpandya@codeaurora.org,
arunks@codeaurora.org, akpm@linux-foundation.org,
mgorman@techsingularity.net, dan.j.williams@intel.com,
linux-arm-kernel@lists.infradead.org, osalvador@suse.de
Subject: Re: [PATCH 6/6] arm64/mm: Enable ZONE_DEVICE
Date: Wed, 3 Apr 2019 12:07:22 -0400 [thread overview]
Message-ID: <20190403160722.GB12818@redhat.com> (raw)
In-Reply-To: <ea5567c7-caad-8a4e-7c6f-cec4b772a526@arm.com>
On Wed, Apr 03, 2019 at 02:58:28PM +0100, Robin Murphy wrote:
> [ +Dan, Jerome ]
>
> On 03/04/2019 05:30, Anshuman Khandual wrote:
> > Arch implementation for functions which create or destroy vmemmap mapping
> > (vmemmap_populate, vmemmap_free) can comprehend and allocate from inside
> > device memory range through driver provided vmem_altmap structure which
> > fulfils all requirements to enable ZONE_DEVICE on the platform. Hence just
>
> ZONE_DEVICE is about more than just altmap support, no?
>
> > enable ZONE_DEVICE by subscribing to ARCH_HAS_ZONE_DEVICE. But this is only
> > applicable for ARM64_4K_PAGES (ARM64_SWAPPER_USES_SECTION_MAPS) only which
> > creates vmemmap section mappings and utilize vmem_altmap structure.
>
> What prevents it from working with other page sizes? One of the foremost
> use-cases for our 52-bit VA/PA support is to enable mapping large quantities
> of persistent memory, so we really do need this for 64K pages too. FWIW, it
> appears not to be an issue for PowerPC.
>
> > Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> > ---
> > arch/arm64/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> > index db3e625..b5d8cf5 100644
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -31,6 +31,7 @@ config ARM64
> > select ARCH_HAS_SYSCALL_WRAPPER
> > select ARCH_HAS_TEARDOWN_DMA_OPS if IOMMU_SUPPORT
> > select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> > + select ARCH_HAS_ZONE_DEVICE if ARM64_4K_PAGES
>
> IIRC certain configurations (HMM?) don't even build if you just turn this on
> alone (although of course things may have changed elsewhere in the meantime)
> - crucially, though, from previous discussions[1] it seems fundamentally
> unsafe, since I don't think we can guarantee that nobody will touch the
> corners of ZONE_DEVICE that also require pte_devmap in order not to go
> subtly wrong. I did get as far as cooking up some patches to sort that out
> [2][3] which I never got round to posting for their own sake, so please
> consider picking those up as part of this series.
Correct _do not_ enable ZONE_DEVICE without support for pte_devmap detection.
If you want some feature of ZONE_DEVICE. Like HMM as while DAX does require
pte_devmap, HMM device private does not. So you would first have to split
ZONE_DEVICE into more sub-features kconfig option.
What is the end use case you are looking for ? Persistent memory ?
Cheers,
Jérôme
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Jerome Glisse <jglisse@redhat.com>
To: Robin Murphy <robin.murphy@arm.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org,
akpm@linux-foundation.org, will.deacon@arm.com,
catalin.marinas@arm.com, mhocko@suse.com,
mgorman@techsingularity.net, james.morse@arm.com,
mark.rutland@arm.com, cpandya@codeaurora.org,
arunks@codeaurora.org, dan.j.williams@intel.com,
osalvador@suse.de, logang@deltatee.com, david@redhat.com,
cai@lca.pw
Subject: Re: [PATCH 6/6] arm64/mm: Enable ZONE_DEVICE
Date: Wed, 3 Apr 2019 12:07:22 -0400 [thread overview]
Message-ID: <20190403160722.GB12818@redhat.com> (raw)
In-Reply-To: <ea5567c7-caad-8a4e-7c6f-cec4b772a526@arm.com>
On Wed, Apr 03, 2019 at 02:58:28PM +0100, Robin Murphy wrote:
> [ +Dan, Jerome ]
>
> On 03/04/2019 05:30, Anshuman Khandual wrote:
> > Arch implementation for functions which create or destroy vmemmap mapping
> > (vmemmap_populate, vmemmap_free) can comprehend and allocate from inside
> > device memory range through driver provided vmem_altmap structure which
> > fulfils all requirements to enable ZONE_DEVICE on the platform. Hence just
>
> ZONE_DEVICE is about more than just altmap support, no?
>
> > enable ZONE_DEVICE by subscribing to ARCH_HAS_ZONE_DEVICE. But this is only
> > applicable for ARM64_4K_PAGES (ARM64_SWAPPER_USES_SECTION_MAPS) only which
> > creates vmemmap section mappings and utilize vmem_altmap structure.
>
> What prevents it from working with other page sizes? One of the foremost
> use-cases for our 52-bit VA/PA support is to enable mapping large quantities
> of persistent memory, so we really do need this for 64K pages too. FWIW, it
> appears not to be an issue for PowerPC.
>
> > Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> > ---
> > arch/arm64/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> > index db3e625..b5d8cf5 100644
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -31,6 +31,7 @@ config ARM64
> > select ARCH_HAS_SYSCALL_WRAPPER
> > select ARCH_HAS_TEARDOWN_DMA_OPS if IOMMU_SUPPORT
> > select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> > + select ARCH_HAS_ZONE_DEVICE if ARM64_4K_PAGES
>
> IIRC certain configurations (HMM?) don't even build if you just turn this on
> alone (although of course things may have changed elsewhere in the meantime)
> - crucially, though, from previous discussions[1] it seems fundamentally
> unsafe, since I don't think we can guarantee that nobody will touch the
> corners of ZONE_DEVICE that also require pte_devmap in order not to go
> subtly wrong. I did get as far as cooking up some patches to sort that out
> [2][3] which I never got round to posting for their own sake, so please
> consider picking those up as part of this series.
Correct _do not_ enable ZONE_DEVICE without support for pte_devmap detection.
If you want some feature of ZONE_DEVICE. Like HMM as while DAX does require
pte_devmap, HMM device private does not. So you would first have to split
ZONE_DEVICE into more sub-features kconfig option.
What is the end use case you are looking for ? Persistent memory ?
Cheers,
Jérôme
next prev parent reply other threads:[~2019-04-03 16:07 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-03 4:30 [PATCH 0/6] arm64/mm: Enable memory hot remove and ZONE_DEVICE Anshuman Khandual
2019-04-03 4:30 ` Anshuman Khandual
2019-04-03 4:30 ` [PATCH 1/6] arm64/mm: Enable sysfs based memory hot add interface Anshuman Khandual
2019-04-03 4:30 ` Anshuman Khandual
2019-04-03 8:20 ` David Hildenbrand
2019-04-03 8:20 ` David Hildenbrand
2019-04-03 13:12 ` Robin Murphy
2019-04-03 13:12 ` Robin Murphy
2019-04-04 5:21 ` Anshuman Khandual
2019-04-04 5:21 ` Anshuman Khandual
2019-04-04 5:25 ` Anshuman Khandual
2019-04-04 5:25 ` Anshuman Khandual
2019-04-04 8:49 ` David Hildenbrand
2019-04-04 8:49 ` David Hildenbrand
2019-04-03 4:30 ` [PATCH 2/6] arm64/mm: Enable memory hot remove Anshuman Khandual
2019-04-03 4:30 ` Anshuman Khandual
2019-04-03 12:37 ` Robin Murphy
2019-04-03 12:37 ` Robin Murphy
2019-04-03 13:15 ` Steven Price
2019-04-03 13:15 ` Steven Price
2019-04-04 6:51 ` Anshuman Khandual
2019-04-04 6:51 ` Anshuman Khandual
2019-04-04 5:39 ` Anshuman Khandual
2019-04-04 5:39 ` Anshuman Khandual
2019-04-04 11:58 ` Oscar Salvador
2019-04-04 11:58 ` Oscar Salvador
2019-04-04 13:03 ` Anshuman Khandual
2019-04-04 13:03 ` Anshuman Khandual
2019-04-04 15:19 ` Oscar Salvador
2019-04-04 15:19 ` Oscar Salvador
2019-04-03 17:32 ` Logan Gunthorpe
2019-04-03 17:32 ` Logan Gunthorpe
2019-04-03 17:57 ` Robin Murphy
2019-04-03 17:57 ` Robin Murphy
2019-04-04 8:23 ` Anshuman Khandual
2019-04-04 8:23 ` Anshuman Khandual
2019-04-04 7:07 ` Anshuman Khandual
2019-04-04 7:07 ` Anshuman Khandual
2019-04-04 9:16 ` Steven Price
2019-04-04 9:16 ` Steven Price
2019-04-03 4:30 ` [PATCH 3/6] arm64/mm: Enable struct page allocation from device memory Anshuman Khandual
2019-04-03 4:30 ` Anshuman Khandual
2019-04-03 4:30 ` [PATCH 4/6] mm/hotplug: Reorder arch_remove_memory() call in __remove_memory() Anshuman Khandual
2019-04-03 4:30 ` Anshuman Khandual
2019-04-03 8:45 ` Oscar Salvador
2019-04-03 8:45 ` Oscar Salvador
2019-04-03 9:17 ` Michal Hocko
2019-04-03 9:17 ` Michal Hocko
2019-04-04 8:32 ` Anshuman Khandual
2019-04-04 8:32 ` Anshuman Khandual
2019-04-03 9:30 ` David Hildenbrand
2019-04-03 9:30 ` David Hildenbrand
2019-04-03 4:30 ` [PATCH 5/6] mm/memremap: Rename and consolidate SECTION_SIZE Anshuman Khandual
2019-04-03 4:30 ` Anshuman Khandual
2019-04-03 9:26 ` Michal Hocko
2019-04-03 9:26 ` Michal Hocko
2019-04-03 9:30 ` David Hildenbrand
2019-04-03 9:30 ` David Hildenbrand
2019-04-03 4:30 ` [PATCH 6/6] arm64/mm: Enable ZONE_DEVICE Anshuman Khandual
2019-04-03 4:30 ` Anshuman Khandual
2019-04-03 13:58 ` Robin Murphy
2019-04-03 13:58 ` Robin Murphy
2019-04-03 16:07 ` Jerome Glisse [this message]
2019-04-03 16:07 ` Jerome Glisse
2019-04-04 5:03 ` Anshuman Khandual
2019-04-04 5:03 ` Anshuman Khandual
2019-04-04 4:42 ` Anshuman Khandual
2019-04-04 4:42 ` Anshuman Khandual
2019-04-04 5:04 ` Dan Williams
2019-04-04 5:04 ` Dan Williams
2019-04-04 9:46 ` Robin Murphy
2019-04-04 9:46 ` Robin Murphy
2019-04-07 22:11 ` Dan Williams
2019-04-07 22:11 ` Dan Williams
2019-04-08 4:03 ` Ira Weiny
2019-04-08 4:03 ` Ira Weiny
2019-04-08 6:03 ` Anshuman Khandual
2019-04-08 6:03 ` Anshuman Khandual
2019-04-03 18:08 ` [PATCH 0/6] arm64/mm: Enable memory hot remove and ZONE_DEVICE Dan Williams
2019-04-03 18:08 ` Dan Williams
2019-04-04 13:11 ` Anshuman Khandual
2019-04-04 13:11 ` Anshuman Khandual
2019-04-04 9:46 ` [RFC 1/2] mm/vmemmap: Enable vmem_altmap based base page mapping for vmemmap Anshuman Khandual
2019-04-04 9:46 ` Anshuman Khandual
2019-04-04 9:46 ` [RFC 2/2] arm64/mm: Enable ZONE_DEVICE for all page configs Anshuman Khandual
2019-04-04 9:46 ` Anshuman Khandual
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=20190403160722.GB12818@redhat.com \
--to=jglisse@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=anshuman.khandual@arm.com \
--cc=arunks@codeaurora.org \
--cc=cai@lca.pw \
--cc=catalin.marinas@arm.com \
--cc=cpandya@codeaurora.org \
--cc=dan.j.williams@intel.com \
--cc=david@redhat.com \
--cc=james.morse@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=logang@deltatee.com \
--cc=mark.rutland@arm.com \
--cc=mgorman@techsingularity.net \
--cc=mhocko@suse.com \
--cc=osalvador@suse.de \
--cc=robin.murphy@arm.com \
--cc=will.deacon@arm.com \
/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.