From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755300AbdCGKtc (ORCPT ); Tue, 7 Mar 2017 05:49:32 -0500 Received: from mx2.suse.de ([195.135.220.15]:56420 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754794AbdCGKsv (ORCPT ); Tue, 7 Mar 2017 05:48:51 -0500 Date: Tue, 7 Mar 2017 11:47:58 +0100 From: Michal Hocko To: Xishi Qiu Cc: Andrew Morton , Vlastimil Babka , Mel Gorman , Minchan Kim , Joonsoo Kim , Yisheng Xie , Linux MM , LKML Subject: Re: [RFC][PATCH 1/2] mm: use MIGRATE_HIGHATOMIC as late as possible Message-ID: <20170307104758.GE28642@dhcp22.suse.cz> References: <58BE8C91.20600@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <58BE8C91.20600@huawei.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue 07-03-17 18:33:53, Xishi Qiu wrote: > MIGRATE_HIGHATOMIC page blocks are reserved for an atomic > high-order allocation, so use it as late as possible. Why is this better? Are you seeing any problem which this patch resolves? In other words the patch description should explain why not only what (that is usually clear from looking at the diff). > Signed-off-by: Xishi Qiu > --- > mm/page_alloc.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 40d79a6..2331840 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -2714,14 +2714,12 @@ struct page *rmqueue(struct zone *preferred_zone, > spin_lock_irqsave(&zone->lock, flags); > > do { > - page = NULL; > - if (alloc_flags & ALLOC_HARDER) { > + page = __rmqueue(zone, order, migratetype); > + if (!page && alloc_flags & ALLOC_HARDER) { > page = __rmqueue_smallest(zone, order, MIGRATE_HIGHATOMIC); > if (page) > trace_mm_page_alloc_zone_locked(page, order, migratetype); > } > - if (!page) > - page = __rmqueue(zone, order, migratetype); > } while (page && check_new_pages(page, order)); > spin_unlock(&zone->lock); > if (!page) > -- > 1.8.3.1 > -- Michal Hocko SUSE Labs