> Not sure if I get the notifier idea clearly. If you mean > > 1) Add a common function to pick memory in unmovable zone; Not strictly required IMHO. But, minor detail. > 2) Let DLPAR, balloon register with notifier; Yeah, or virtio-mem, or any other technology that adds/removes memory dynamically. > 3) In the common function, ask notified part to check if the picked > unmovable memory is available for locating kexec kernel; Yeah. > > Sounds doable to me, and not complicated. > >> images. It would apply to >> >> - arm64 and filter out all hotadded memory (IIRC, only boot memory can >> be used). > > Do you mean hot added memory after boot can't be recognized and added > into system RAM on arm64? See patch #3 of this patch set, which wants to avoid placing kexec binaries on hotplugged memory. But I have no idea what the current plan regarding arm64 is (this thread exploded :) ). I would assume that we don't want to place kexec images on any hotplugged (or rather: hot(un)pluggable) memory - on any architecture. > > >> - powerpc to filter out all LMBs that can be removed (assuming not all >> memory corresponds to LMBs that can be removed, otherwise we're in >> trouble ... :) ) >> - virtio-mem to filter out all memory it added. >> - hyper-v to filter out partially backed memory blocks (esp. the last >> memory block it added and only partially backed it by memory). >> >> This would make it work for kexec_file_load(), however, I do wonder how >> we would want to approach that from userspace kexec-tools when handling >> it from kexec_load(). > > Let's make kexec_file_load work firstly. Since this work is only first > step to make kexec-ed kernel not break memory hotplug. After kexec > rebooting, the KASLR may locate kernel into hotpluggable area too. Can you elaborate how that would work? -- Thanks, David / dhildenb