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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210427080921.GG4239@techsingularity.net>
Date:   Tue, 27 Apr 2021 09:09:22 +0100
From:   Mel Gorman <mgorman@...hsingularity.net>
To:     Charan Teja Reddy <charante@...eaurora.org>
Cc:     akpm@...ux-foundation.org, vbabka@...e.cz, bhe@...hat.com,
        nigupta@...dia.com, khalid.aziz@...cle.com,
        mateusznosek0@...il.com, sh_def@....com, iamjoonsoo.kim@....com,
        mcgrof@...nel.org, keescook@...omium.org, yzaikin@...gle.com,
        mhocko@...e.com, rientjes@...gle.com, linux-kernel@...r.kernel.org,
        linux-fsdevel@...r.kernel.org, linux-mm@...ck.org,
        vinmenon@...eaurora.org
Subject: Re: [PATCH] mm: compaction: improve /proc trigger for full node
 memory compaction

On Thu, Apr 22, 2021 at 07:07:58PM +0530, Charan Teja Reddy wrote:
> The existing /proc/sys/vm/compact_memory interface do the full node
> compaction when user writes an arbitrary value to it and is targeted for
> the usecases like an app launcher prepares the system before the target
> application runs.

The intent behind compact_memory was a debugging interface to tell
the difference between an application failing to allocate a huge page
prematurely and the inability of compaction to find a free page.

> The downside of it is that even if there are
> sufficient higher order pages left in the system for the targeted
> application to run, full node compaction will still be triggered thus
> wasting few CPU cycles. This problem can be solved if it is known when
> the sufficient higher order pages are available in the system thus full
> node compaction can be stopped in the middle. The proactive
> compaction[1] can give these details about the availability of higher
> order pages in the system(it checks for COMPACTION_HPAGE_ORDER pages,
> which usually be order-9) thus can be used to trigger for full node
> compaction.
> 
> This patch adds a new /proc interface,
> /proc/sys/vm/proactive_compact_memory, and on write of an arbitrary
> value triggers the full node compaction but can be stopped in the middle
> if sufficient higher order(COMPACTION_HPAGE_ORDER) pages available in
> the system. The availability of pages that a user looking for can be
> given as input through /proc/sys/vm/compaction_proactiveness.
> 
> [1]https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=facdaa917c4d5a376d09d25865f5a863f906234a
> 
> Signed-off-by: Charan Teja Reddy <charante@...eaurora.org>

Hence, while I do not object to the patch as-such, I'm wary of the trend
towards improving explicit out-of-band compaction via proc interfaces. I
would have preferred if the focus was on reducing the cost of compaction
so that direct allocation requests succeed quickly or improving background
compaction via kcompactd when there has been recent failures.

-- 
Mel Gorman
SUSE Labs

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ