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

Reply via email to