Re: [Bug 201085] New: Kernel allows mlock() on pages in CMA without migrating pages out of CMA first

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/12/2018 12:47 PM, Andrew Morton wrote:
> 
> (switched to email.  Please respond via emailed reply-to-all, not via the
> bugzilla web interface).
> 
> On Tue, 11 Sep 2018 03:59:11 +0000 bugzilla-daemon@xxxxxxxxxxxxxxxxxxx wrote:
> 
>> https://bugzilla.kernel.org/show_bug.cgi?id=201085
>>
>>             Bug ID: 201085
>>            Summary: Kernel allows mlock() on pages in CMA without
>>                     migrating pages out of CMA first
>>            Product: Memory Management
>>            Version: 2.5
>>     Kernel Version: 4.18
>>           Hardware: All
>>                 OS: Linux
>>               Tree: Mainline
>>             Status: NEW
>>           Severity: normal
>>           Priority: P1
>>          Component: Page Allocator
>>           Assignee: akpm@xxxxxxxxxxxxxxxxxxxx
>>           Reporter: tpearson@xxxxxxxxxxxxxxxxxxxxx
>>         Regression: No
>>
>> Pages allocated in CMA are not migrated out of CMA when non-CMA memory is
>> available and locking is attempted via mlock().  This can result in rapid
>> exhaustion of the CMA pool if memory locking is used by an application with
>> large memory requirements such as QEMU.
>>
>> To reproduce, on a dual-CPU (NUMA) POWER9 host try to launch a VM with mlock=on
>> and 1/2 or more of physical memory allocated to the guest.  Observe full CMA
>> pool depletion occurs despite plenty of normal free RAM available.
>>
>> -- 
>> You are receiving this mail because:
>> You are the assignee for the bug.

IIRC, Aneesh is working on some powerpc IOMMU patches for a similar issue
(long term pinning of cma pages).  Added him on Cc:
https://lkml.kernel.org/r/20180906054342.25094-2-aneesh.kumar@xxxxxxxxxxxxx

This report seems to be suggesting a more general solution/change.  Wondering
if there is any overlap with this and Aneesh's work.
-- 
Mike Kravetz




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux