Re: [PATCH RFC] virtio-mem: check against memhp_get_pluggable_range() which memory we can hotplug

From: Anshuman Khandual
Date: Thu Jan 21 2021 - 22:33:51 EST




On 1/21/21 3:27 PM, David Hildenbrand wrote:
> On 18.01.21 14:21, Anshuman Khandual wrote:
>>
>>
>> On 1/18/21 6:43 PM, Anshuman Khandual wrote:
>>> From: David Hildenbrand <david@xxxxxxxxxx>
>>>
>>> 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" <mst@xxxxxxxxxx>
>>> Cc: Jason Wang <jasowang@xxxxxxxxxx>
>>> Cc: Pankaj Gupta <pankaj.gupta.linux@xxxxxxxxx>
>>> Cc: Michal Hocko <mhocko@xxxxxxxxxx>
>>> Cc: Oscar Salvador <osalvador@xxxxxxx>
>>> Cc: Wei Yang <richard.weiyang@xxxxxxxxxxxxxxxxx>
>>> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
>>> Cc: catalin.marinas@xxxxxxx
>>> Cc: teawater <teawaterz@xxxxxxxxxxxxxxxxx>
>>> Cc: Anshuman Khandual <anshuman.khandual@xxxxxxx>
>>> Cc: Pankaj Gupta <pankaj.gupta@xxxxxxxxxxxxxxx>
>>> Cc: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
>>> Cc: hca@xxxxxxxxxxxxx
>>> Cc: Vasily Gorbik <gor@xxxxxxxxxxxxx>
>>> Cc: Will Deacon <will@xxxxxxxxxx>
>>> Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
>>> Cc: Mark Rutland <mark.rutland@xxxxxxx>
>>> Cc: Heiko Carstens <hca@xxxxxxxxxxxxx>
>>> Cc: Michal Hocko <mhocko@xxxxxxxxxx>
>>> Signed-off-by: David Hildenbrand <david@xxxxxxxxxx>
>>> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
>>
>> Hello David,
>>
>> As your original patch was in the RFC state, I have just maintained
>> the same here as well. But once you test this patch along with the
>> new series, please do let me know if this needs to be converted to
>> a normal PATCH instead. Thank you.
>
> Yes, you can drop the RFC part. I assume you'll send another revision,
> I'll do another test there, thanks!

Sure, will drop the RFC in next version.