Message ID | 20190527111152.16324-3-david@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3,01/11] mm/memory_hotplug: Simplify and fix check_hotplug_memory_range() | expand |
On Mon, May 27, 2019 at 01:11:43PM +0200, David Hildenbrand wrote: > ZONE_DEVICE is not yet supported, fail if an altmap is passed, so we > don't forget arch_add_memory()/arch_remove_memory() when unlocking > support. > > Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> > Cc: Heiko Carstens <heiko.carstens@de.ibm.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Michal Hocko <mhocko@suse.com> > Cc: Mike Rapoport <rppt@linux.vnet.ibm.com> > Cc: David Hildenbrand <david@redhat.com> > Cc: Vasily Gorbik <gor@linux.ibm.com> > Cc: Oscar Salvador <osalvador@suse.com> > Suggested-by: Dan Williams <dan.j.williams@intel.com> > Signed-off-by: David Hildenbrand <david@redhat.com> Reviewed-by: Oscar Salvador <osalvador@suse.de>
On Mon 27-05-19 13:11:43, David Hildenbrand wrote: > ZONE_DEVICE is not yet supported, fail if an altmap is passed, so we > don't forget arch_add_memory()/arch_remove_memory() when unlocking > support. Why do we need this? Sure ZONE_DEVICE is not supported for s390 and so might be the case for other arches which support hotplug. I do not see much point in adding warning to each of them. > Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> > Cc: Heiko Carstens <heiko.carstens@de.ibm.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Michal Hocko <mhocko@suse.com> > Cc: Mike Rapoport <rppt@linux.vnet.ibm.com> > Cc: David Hildenbrand <david@redhat.com> > Cc: Vasily Gorbik <gor@linux.ibm.com> > Cc: Oscar Salvador <osalvador@suse.com> > Suggested-by: Dan Williams <dan.j.williams@intel.com> > Signed-off-by: David Hildenbrand <david@redhat.com> > --- > arch/s390/mm/init.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c > index 14d1eae9fe43..d552e330fbcc 100644 > --- a/arch/s390/mm/init.c > +++ b/arch/s390/mm/init.c > @@ -226,6 +226,9 @@ int arch_add_memory(int nid, u64 start, u64 size, > unsigned long size_pages = PFN_DOWN(size); > int rc; > > + if (WARN_ON_ONCE(restrictions->altmap)) > + return -EINVAL; > + > rc = vmem_add_mapping(start, size); > if (rc) > return rc; > -- > 2.20.1 >
On Mon 01-07-19 09:43:06, Michal Hocko wrote: > On Mon 27-05-19 13:11:43, David Hildenbrand wrote: > > ZONE_DEVICE is not yet supported, fail if an altmap is passed, so we > > don't forget arch_add_memory()/arch_remove_memory() when unlocking > > support. > > Why do we need this? Sure ZONE_DEVICE is not supported for s390 and so > might be the case for other arches which support hotplug. I do not see > much point in adding warning to each of them. I would drop this one. If there is a strong reason to have something like that it should come with a better explanation and it can be done on top.
On 01.07.19 14:46, Michal Hocko wrote: > On Mon 01-07-19 09:43:06, Michal Hocko wrote: >> On Mon 27-05-19 13:11:43, David Hildenbrand wrote: >>> ZONE_DEVICE is not yet supported, fail if an altmap is passed, so we >>> don't forget arch_add_memory()/arch_remove_memory() when unlocking >>> support. >> >> Why do we need this? Sure ZONE_DEVICE is not supported for s390 and so >> might be the case for other arches which support hotplug. I do not see >> much point in adding warning to each of them. > > I would drop this one. If there is a strong reason to have something > like that it should come with a better explanation and it can be done on > top. > This was requested by Dan and I agree it is the right thing to do. In the context of paravirtualized devices (e.g., virtio-pmem), it makes sense to block functionality an arch does not support. I'll leave the decision to Andrew.
On Mon 15-07-19 12:51:27, David Hildenbrand wrote: > On 01.07.19 14:46, Michal Hocko wrote: > > On Mon 01-07-19 09:43:06, Michal Hocko wrote: > >> On Mon 27-05-19 13:11:43, David Hildenbrand wrote: > >>> ZONE_DEVICE is not yet supported, fail if an altmap is passed, so we > >>> don't forget arch_add_memory()/arch_remove_memory() when unlocking > >>> support. > >> > >> Why do we need this? Sure ZONE_DEVICE is not supported for s390 and so > >> might be the case for other arches which support hotplug. I do not see > >> much point in adding warning to each of them. > > > > I would drop this one. If there is a strong reason to have something > > like that it should come with a better explanation and it can be done on > > top. > > > > This was requested by Dan and I agree it is the right thing to do. This is probably a matter of taste. I would argue that altmap doesn't really equal ZONE_DEVICE. This is more a mechanism to use an alternative memmap allocator. Sure ZONE_DEVICE is the only in tree user of the feature but I really do not see why the arh specific code should care about it. The lack of altmap allocator is handled in the sparse code so this is just adding an early check which might confuse people in future. > In > the context of paravirtualized devices (e.g., virtio-pmem), it makes > sense to block functionality an arch does not support. Then block it on the config dependences.
diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c index 14d1eae9fe43..d552e330fbcc 100644 --- a/arch/s390/mm/init.c +++ b/arch/s390/mm/init.c @@ -226,6 +226,9 @@ int arch_add_memory(int nid, u64 start, u64 size, unsigned long size_pages = PFN_DOWN(size); int rc; + if (WARN_ON_ONCE(restrictions->altmap)) + return -EINVAL; + rc = vmem_add_mapping(start, size); if (rc) return rc;
ZONE_DEVICE is not yet supported, fail if an altmap is passed, so we don't forget arch_add_memory()/arch_remove_memory() when unlocking support. Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@linux.vnet.ibm.com> Cc: David Hildenbrand <david@redhat.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Oscar Salvador <osalvador@suse.com> Suggested-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: David Hildenbrand <david@redhat.com> --- arch/s390/mm/init.c | 3 +++ 1 file changed, 3 insertions(+)