From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753629AbcGVJdw (ORCPT ); Fri, 22 Jul 2016 05:33:52 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:54225 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751441AbcGVJdu (ORCPT ); Fri, 22 Jul 2016 05:33:50 -0400 Message-ID: <5791E5B1.8060503@huawei.com> Date: Fri, 22 Jul 2016 17:21:53 +0800 From: Xishi Qiu User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 MIME-Version: 1.0 To: Vlastimil Babka CC: "mel@csn.ul.ie" , David Rientjes , Joonsoo Kim , Mel Gorman , Linux MM , LKML Subject: Re: mm/compact: why use low watermark to determine whether compact is finished instead of use high watermark? References: <5791DFD4.5080207@huawei.com> <0b580155-d99a-f4a4-ef76-6166b41180aa@suse.cz> In-Reply-To: <0b580155-d99a-f4a4-ef76-6166b41180aa@suse.cz> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.25.179] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090204.5791E870.0031,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-05-26 15:14:31, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 1ab6abf818c49011137ed47df858b3fb Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2016/7/22 17:04, Vlastimil Babka wrote: > On 07/22/2016 10:56 AM, Xishi Qiu wrote: >> Hi, >> >> I find all the watermarks in mm/compaction.c are low_wmark_pages(), >> so why not use high watermark to determine whether compact is finished? > > Why would you use high watermark? Quite the opposite, I want to move towards min watermark (precisely, the one in alloc_flags which is usually min) in this series: > > https://lkml.org/lkml/2016/6/24/222 > > especially: > > https://lkml.org/lkml/2016/6/24/214 > >> e.g. >> __alloc_pages_nodemask() >> get_page_from_freelist() >> this is fast path, use use low_wmark_pages() in __zone_watermark_ok() >> >> __alloc_pages_slowpath() >> this is slow path, usually use min_wmark_pages() > > Yes, and compaction should be finished when allocation can succeed, so match __alloc_pages_slowpath(). > Sounds reasonable, but now we have kcompactd which called from kswapd, so still use low wmark? Thanks, Xishi Qiu >> >> kswapd >> balance_pgdat() >> use high_wmark_pages() to determine whether zone is balanced >> >> Thanks, >> Xishi Qiu >> > > > . >