On 1/11/21 6:11 PM, David Hildenbrand wrote: > Right now, we only check against MAX_PHYSMEM_BITS - but turns out there > are more restrictions of which memory we can actually hotplug, especially > om arm64 or s390x once we support them: we might receive something like > -E2BIG or -ERANGE from add_memory_driver_managed(), stopping device > operation. > > So, check right when initializing the device which memory we can add, > warning the user. Try only adding actually pluggable ranges: in the worst > case, no memory provided by our device is pluggable. > > In the usual case, we expect all device memory to be pluggable, and in > corner cases only some memory at the end of the device-managed memory > region to not be pluggable. > > Cc: "Michael S. Tsirkin" <[email protected]> > Cc: Jason Wang <[email protected]> > Cc: Pankaj Gupta <[email protected]> > Cc: Michal Hocko <[email protected]> > Cc: Oscar Salvador <[email protected]> > Cc: Wei Yang <[email protected]> > Cc: Andrew Morton <[email protected]> > Cc: [email protected] > Cc: teawater <[email protected]> > Cc: Anshuman Khandual <[email protected]> > Cc: Pankaj Gupta <[email protected]> > Cc: Jonathan Cameron <[email protected]> > Cc: [email protected] > Cc: Vasily Gorbik <[email protected]> > Cc: Will Deacon <[email protected]> > Cc: Ard Biesheuvel <[email protected]> > Cc: Mark Rutland <[email protected]> > Cc: Heiko Carstens <[email protected]> > Cc: Michal Hocko <[email protected]> > Signed-off-by: David Hildenbrand <[email protected]> > --- > > This is an example how virito-mem intends to use an interface like > memhp_get_pluggable_range() once around. See: > > "[PATCH V2 0/3] mm/hotplug: Pre-validate the address range with platform" > https://lkml.kernel.org/r/[email protected] > > @Anshuman, feel free to pick up and carry this patch. I'll retest the final > result / new versions of you series. Makes sense, will carry this patch in the series.

