On 31.07.19 16:14, Michal Hocko wrote: > On Wed 31-07-19 15:42:53, David Hildenbrand wrote: >> On 31.07.19 15:25, Michal Hocko wrote: > [...] >>> I know we have documented this as an ABI and it is really _sad_ that >>> this ABI didn't get through normal scrutiny any user visible interface >>> should go through but these are sins of the past... >> >> A quick google search indicates that >> >> Kata containers queries the block size: >> https://github.com/kata-containers/runtime/issues/796 >> >> Powerpc userspace queries it: >> https://groups.google.com/forum/#!msg/powerpc-utils-devel/dKjZCqpTxus/AwkstV2ABwAJ >> >> I can imagine that ppc dynamic memory onlines only pieces of added >> memory - DIMMs AFAIK (haven't looked at the details). >> >> There might be more users. > > Thanks! I suspect most of them are just using the information because > they do not have anything better. powerpc-utils actually seem to use the fine-grained API to dynamically manage memory assignment to the VM. > > Thinking about it some more, I believe that we can reasonably provide > both APIs controlable by a command line parameter for backwards > compatibility. It is the hotplug code to control sysfs APIs. E.g. > create one sysfs entry per add_memory_resource for the new semantic. Yeah, but the real question is: who needs it. I can only think about some DIMM scenarios (some, not all). I would be interested in more use cases. Of course, to provide and maintain two APIs we need a good reason. (one sysfs per add_memory_resource() won't cover all DIMMs completely as far as I remember - I might be wrong, I remember there could be a sequence of add_memory(). Also, some DIMMs might actually overlap with memory indicated during boot - complicated stuff) > > It is some time since I've checked the ACPI side of the matter but that > code shouldn't really depend on a particular size of the memblock > either when trigerring udev events. I might be wrong here of course. It only has to respect the alignment/size restriction when calling add_memory() right now. That would map to a "minimum block size" -- Thanks, David / dhildenb