Re: [PATCH v1] powerpc/pseries: CMM: Drop page array

From: David Hildenbrand
Date: Wed Sep 25 2019 - 03:37:11 EST


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