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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <27742115-E5A4-4DF1-B223-5E6EB7A6E4F3@ellerman.id.au>
Date:   Sat, 28 Sep 2019 07:06:37 +1000
From:   Michael Ellerman <michael@...erman.id.au>
To:     David Hildenbrand <david@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1] powerpc/pseries: CMM: Drop page array



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.

cheers
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ