On 10.09.19 18:39, David Hildenbrand wrote: > We can simply store the pages in a list (page->lru), no need for a > separate data structure (+ complicated handling). This is how most > other balloon drivers store allocated pages without additional tracking > data. > > For the notifiers, use page_to_pfn() to check if a page is in the > applicable range. plpar_page_set_loaned()/plpar_page_set_active() were > called with __pa(page_address()) for now, I assume we can simply switch > to page_to_phys() here. The pfn_to_kaddr() handling is now mostly gone. > > Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> > Cc: Paul Mackerras <paulus@xxxxxxxxx> > Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> > Cc: Arun KS <arunks@xxxxxxxxxxxxxx> > Cc: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Vlastimil Babka <vbabka@xxxxxxx> > Signed-off-by: David Hildenbrand <david@xxxxxxxxxx> > --- > > Only compile-tested. I hope the page_to_phys() thingy is correct and I > didn't mess up something else / ignoring something important why the array > is needed. > > I stumbled over this while looking at how the memory isolation notifier is > used - and wondered why the additional array is necessary. Also, I think > by switching to the generic balloon compaction mechanism, we could get > rid of the memory hotplug notifier and the memory isolation notifier in > this code, as the migration capability of the inflated pages is the real > requirement: > commit 14b8a76b9d53346f2871bf419da2aaf219940c50 > Author: Robert Jennings <rcj@xxxxxxxxxxxxxxxxxx> > Date: Thu Dec 17 14:44:52 2009 +0000 > > powerpc: Make the CMM memory hotplug aware > > The Collaborative Memory Manager (CMM) module allocates individual pages > over time that are not migratable. On a long running system this can > severely impact the ability to find enough pages to support a hotplug > memory remove operation. > [...] > > Thoughts? Ping, is still feature still used at all? If nobody can test, any advise on which HW I need and how to trigger it? -- Thanks, David / dhildenb