Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S968039AbdIZKnU (ORCPT ); Tue, 26 Sep 2017 06:43:20 -0400 Received: from outbound-smtp02.blacknight.com ([81.17.249.8]:58926 "EHLO outbound-smtp02.blacknight.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965144AbdIZKnS (ORCPT ); Tue, 26 Sep 2017 06:43:18 -0400 Date: Tue, 26 Sep 2017 11:43:16 +0100 From: Mel Gorman To: Hui Zhu Cc: Hui Zhu , Andrew Morton , Michal Hocko , Vlastimil Babka , hillf.zj@alibaba-inc.com, Linux Memory Management List , "linux-kernel@vger.kernel.org" Subject: Re: [RFC 0/2] Use HighAtomic against long-term fragmentation Message-ID: <20170926104316.r2mjcrakykqfehga@techsingularity.net> References: <1506415604-4310-1-git-send-email-zhuhui@xiaomi.com> <20170926095127.p5ocg44et2g62gku@techsingularity.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170421 (1.8.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1995 Lines: 41 On Tue, Sep 26, 2017 at 06:04:04PM +0800, Hui Zhu wrote: > 2017-09-26 17:51 GMT+08:00 Mel Gorman : > > On Tue, Sep 26, 2017 at 04:46:42PM +0800, Hui Zhu wrote: > >> Current HighAtomic just to handle the high atomic page alloc. > >> But I found that use it handle the normal unmovable continuous page > >> alloc will help to against long-term fragmentation. > >> > > > > This is not wise. High-order atomic allocations do not always have a > > smooth recovery path such as network drivers with large MTUs that have no > > choice but to drop the traffic and hope for a retransmit. That's why they > > have the highatomic reserve. If the reserve is used for normal unmovable > > allocations then allocation requests that could have waited for reclaim > > may cause high-order atomic allocations to fail. Changing it may allow > > improve latencies in some limited cases while causing functional failures > > in others. If there is a special case where there are a large number of > > other high-order allocations then I would suggest increasing min_free_kbytes > > instead as a workaround. > > I think let 0 order unmovable page alloc and other order unmovable pages > alloc use different migrate types will help against long-term > fragmentation. > That can already happen through the migratetype fallback lists. > Do you think kernel can add a special migrate type for big than 0 order > unmovable pages alloc? > Technically, yes but the barrier to entry will be high as you'll have to explain carefully why it is necessary including information on why order-0 pages cannot be used, back it up with data showing what is improved as a result and justify why potentially forcing normal workloads to reclaim due to being unable to use the high-order reserve is ok. If it's a limitation of a specific driver then it'll be asked why that driver does not have a dedicated pool (which is functionally similar to having a dedicated reserve). -- Mel Gorman SUSE Labs