On 27.09.19 23:06, Michael Ellerman wrote: > > > On 27 September 2019 9:19:49 pm AEST, David Hildenbrand <[email protected]> > wrote: >> On 25.09.19 09:37, David Hildenbrand wrote: >>> 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 <[email protected]> >>>> Cc: Paul Mackerras <[email protected]> >>>> Cc: Michael Ellerman <[email protected]> >>>> Cc: Arun KS <[email protected]> >>>> Cc: Pavel Tatashin <[email protected]> >>>> Cc: Thomas Gleixner <[email protected]> >>>> Cc: Andrew Morton <[email protected]> >>>> Cc: Vlastimil Babka <[email protected]> >>>> Signed-off-by: David Hildenbrand <[email protected]> >>>> --- >>>> >>>> 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 <[email protected]> >>>> 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? >>> >> >> So ... if CMM is no longer alive I propose ripping it out completely. >> Does anybody know if this feature is still getting used? Getting rid of >> the memory isolation notifier sounds desirable - either by scrapping >> CMM >> or by properly wiring up balloon compaction. > > It's still used AFAIK, but the people who wrote the code have left IBM, and > I'm on leave. > > I'll be back in a week or so and will try and track down how to test it then. >
Thanks - sure, take your time. I'll try to play with wiring up balloon compaction in the meantime. Cheers! > cheers > -- Thanks, David / dhildenb

