lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <982d2b2f-203b-89fe-6e91-5dc401af90cf@redhat.com>
Date:   Mon, 30 Sep 2019 09:52:15 +0200
From:   David Hildenbrand <david@...hat.com>
To:     Michael Ellerman <michael@...erman.id.au>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1] powerpc/pseries: CMM: Drop page array

On 27.09.19 23:06, Michael Ellerman wrote:
> 
> 
> On 27 September 2019 9:19:49 pm AEST, David Hildenbrand <david@...hat.com> 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 <benh@...nel.crashing.org>
>>>> Cc: Paul Mackerras <paulus@...ba.org>
>>>> Cc: Michael Ellerman <mpe@...erman.id.au>
>>>> Cc: Arun KS <arunks@...eaurora.org>
>>>> Cc: Pavel Tatashin <pasha.tatashin@...een.com>
>>>> Cc: Thomas Gleixner <tglx@...utronix.de>
>>>> Cc: Andrew Morton <akpm@...ux-foundation.org>
>>>> Cc: Vlastimil Babka <vbabka@...e.cz>
>>>> Signed-off-by: David Hildenbrand <david@...hat.com>
>>>> ---
>>>>
>>>> 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@...ux.vnet.ibm.com>
>>>> 	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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ