Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752755AbbKZB7X (ORCPT ); Wed, 25 Nov 2015 20:59:23 -0500 Received: from LGEAMRELO12.lge.com ([156.147.23.52]:35906 "EHLO lgeamrelo12.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752678AbbKZB7V (ORCPT ); Wed, 25 Nov 2015 20:59:21 -0500 X-Original-SENDERIP: 156.147.1.126 X-Original-MAILFROM: iamjoonsoo.kim@lge.com X-Original-SENDERIP: 10.177.222.138 X-Original-MAILFROM: iamjoonsoo.kim@lge.com Date: Thu, 26 Nov 2015 10:59:50 +0900 From: Joonsoo Kim To: David Rientjes Cc: Andrew Morton , Vlastimil Babka , Mel Gorman , Yaowei Bai , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v2] mm/compaction: __compact_pgdat() code cleanuup Message-ID: <20151126015950.GC13138@js1304-P5Q-DELUXE> References: <1448429172-24961-1-git-send-email-iamjoonsoo.kim@lge.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2325 Lines: 67 On Wed, Nov 25, 2015 at 02:45:15AM -0800, David Rientjes wrote: > On Wed, 25 Nov 2015, Joonsoo Kim wrote: > > > This patch uses is_via_compact_memory() to distinguish direct compaction. > > When I think of "direct compaction", I think of compaction triggered for > high-order allocations from the page allocator before direct reclaim. > This is the opposite of being triggered for is_via_compact_memory(). Okay. Will change it. > > > And it also reduces indentation on compaction_defer_reset > > by filtering failure case. There is no functional change. > > > > Acked-by: Yaowei Bai > > Signed-off-by: Joonsoo Kim > > --- > > mm/compaction.c | 13 +++++++------ > > 1 file changed, 7 insertions(+), 6 deletions(-) > > > > diff --git a/mm/compaction.c b/mm/compaction.c > > index de3e1e7..01b1e5e 100644 > > --- a/mm/compaction.c > > +++ b/mm/compaction.c > > @@ -1658,14 +1658,15 @@ static void __compact_pgdat(pg_data_t *pgdat, struct compact_control *cc) > > !compaction_deferred(zone, cc->order)) > > compact_zone(zone, cc); > > > > - if (cc->order > 0) { > > - if (zone_watermark_ok(zone, cc->order, > > - low_wmark_pages(zone), 0, 0)) > > - compaction_defer_reset(zone, cc->order, false); > > - } > > - > > VM_BUG_ON(!list_empty(&cc->freepages)); > > VM_BUG_ON(!list_empty(&cc->migratepages)); > > + > > + if (is_via_compact_memory(cc->order)) > > + continue; > > This will be the third call to is_via_compact_memory() in this function. > Maybe just do > > const bool sysctl = is_via_compact_memory(cc->order); > > early in the function since it won't change during the iteration? (And > maybe get rid of that extra newline that already exists at the beginning > of the iteration? I don't it's better. is_via_compact_memory() already express it's meaning perfectly and no overhead here. Introducing extra variable would confuse reader more than commonly used is_via_compact_memory(). > > Otherwise: > > Acked-by: David Rientjes Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/