lkml.org 
[lkml]   [2016]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v6 10/11] mm, compaction: require only min watermarks for non-costly orders
From
Date
On 08/16/2016 08:16 AM, Joonsoo Kim wrote:
> On Wed, Aug 10, 2016 at 11:12:25AM +0200, Vlastimil Babka wrote:
>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
>> index 621e4211ce16..a5c0f914ec00 100644
>> --- a/mm/page_alloc.c
>> +++ b/mm/page_alloc.c
>> @@ -2492,7 +2492,7 @@ int __isolate_free_page(struct page *page, unsigned int order)
>>
>> if (!is_migrate_isolate(mt)) {
>> /* Obey watermarks as if the page was being allocated */
>> - watermark = low_wmark_pages(zone) + (1 << order);
>> + watermark = min_wmark_pages(zone) + (1UL << order);
>
> This '1 << order' also needs some comment. Why can't we use
> compact_gap() in this case?

This is just short-cutting the high-order watermark check to check only
order-0, because we already know the high-order page exists.
We can't use compact_gap() as that's too high to use for a single
allocation watermark, since we can be already holding some free pages on
the list. So it would defeat the gap purpose.

> Thanks.
>

\
 
 \ /
  Last update: 2016-09-17 09:57    [W:0.050 / U:4.752 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site