From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754138AbbCSPei (ORCPT ); Thu, 19 Mar 2015 11:34:38 -0400 Received: from prod-mail-xrelay02.akamai.com ([72.246.2.14]:40100 "EHLO prod-mail-xrelay02.akamai.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751351AbbCSPeg (ORCPT ); Thu, 19 Mar 2015 11:34:36 -0400 Message-ID: <550AEC8B.1080806@akamai.com> Date: Thu, 19 Mar 2015 11:34:35 -0400 From: Eric B Munson User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Vlastimil Babka , Andrew Morton CC: Thomas Gleixner , Christoph Lameter , Peter Zijlstra , Mel Gorman , David Rientjes , Rik van Riel , Michal Hocko , linux-rt-users@vger.kernel.org, linux-mm@kvack.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH V6] Allow compaction of unevictable pages References: <1426773430-31052-1-git-send-email-emunson@akamai.com> <550AE38E.7090006@suse.cz> In-Reply-To: <550AE38E.7090006@suse.cz> Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 03/19/2015 10:56 AM, Vlastimil Babka wrote: > On 03/19/2015 02:57 PM, Eric B Munson wrote: >> Currently, pages which are marked as unevictable are protected >> from compaction, but not from other types of migration. The >> POSIX real time extension explicitly states that mlock() will >> prevent a major page fault, but the spirit of is is that mlock() >> should give a process the ability to control sources of latency, >> including minor page faults. However, the mlock manpage only >> explicitly says that a locked page will not be written to swap >> and this can cause some confusion. The compaction code today, >> does not give a developer who wants to avoid swap but wants to >> have large contiguous areas available any method to achieve this >> state. This patch introduces a sysctl for controlling >> compaction behavoir with respect to the unevictable lru. Users >> that demand no page > > behavior > >> faults after a page is present can set compact_unevictable to 0 >> and > > compact_unevictable_allowed > >> users who need the large contiguous areas can enable compaction >> on locked memory by leaving the default value of 1. >> >> To illustrate this problem I wrote a quick test program that >> mmaps a large number of 1MB files filled with random data. These >> maps are created locked and read only. Then every other mmap is >> unmapped and I attempt to allocate huge pages to the static huge >> page pool. When the compact_unevictable sysctl is 0, I cannot >> allocate hugepages after > > compact_unevictable_allowed > >> fragmenting memory. When the value is set to 1, allocations >> succeed. >> >> Signed-off-by: Eric B Munson Cc: Vlastimil >> Babka > > Acked-by: Vlastimil Babka > > Thanks. > Thanks, I have a version with the changelog fixed up to actually make sense and can submit that if the patch is acceptable otherwise. Eric -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAEBAgAGBQJVCuyHAAoJELbVsDOpoOa95w0QAIia0yPziiFJRx9uJlGwIfuM IPHeQ1g201OJiKHxYpZI9FqSu+QJb9UFSPS7ewCH7xE+1aPxEL2pLDZxI5w8OPbY KYxrVWBdTNesN5Xu8kb0yCXWlk5wGbf65jqMyBJlT9Y+GSiI3zK0AIQgu9Es8zep YCcig4xfeojzzwGelszsBQ+iDpwqeiS76hCO20yuI5z5G5Le1h7MjxErXZ/uSwlv +8CHgJWtISjjOYLnbFSEciQmvvcSXtGDmXJ2ru6tgLRoWyIcu3lCyvl/9zi4PuJz hBtZ5TjQDbyBfj7Vyop90SA9/vwQL8F0wgi9yZXTklebB5cY5b+dWuFdcf14dn2o uXalxBd1MBQ1hpGXGOLuQCoBows/REjPgKGu+0xGknPL56DXKmoWBeSpjnJKcqIA bavYJ3bE7HSBI/zjaN2ZiP2Kxl3Y2fV3nmSoXVDJ6hPnYSZUMr1/dBRy5g+kTJ52 wrJt9gMi17alZZFNxsn+EnpagmghwQ89UHLG+ssOViW1DX0j6OxfFDpUlMbso6GS KW4faaPpIlGbD03f8zZzuCG859rVDiah5WZLVWHG30mVevxvut5QSQo9FEpc2yCk SG7jghV6Pj3m/F7tdOtwO2PpVSIA0tvxiX734H+z2NoU1Ozfwhofb0hGeEZyp7jm oAKnxZkkaDbdiaSrNoRM =bs7n -----END PGP SIGNATURE-----