Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932561AbcCKP2z (ORCPT ); Fri, 11 Mar 2016 10:28:55 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:34241 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752628AbcCKP2x (ORCPT ); Fri, 11 Mar 2016 10:28:53 -0500 Date: Fri, 11 Mar 2016 16:28:51 +0100 From: Michal Hocko To: Tetsuo Handa Cc: akpm@linux-foundation.org, torvalds@linux-foundation.org, hannes@cmpxchg.org, mgorman@suse.de, rientjes@google.com, hillf.zj@alibaba-inc.com, kamezawa.hiroyu@jp.fujitsu.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 0/3] OOM detection rework v4 Message-ID: <20160311152851.GU27701@dhcp22.suse.cz> References: <1450203586-10959-1-git-send-email-mhocko@kernel.org> <201603111945.FHI64215.JVOFLHQFOMOSFt@I-love.SAKURA.ne.jp> <20160311130847.GP27701@dhcp22.suse.cz> <201603112232.AEJ78150.LOHQJtMFSVOFOF@I-love.SAKURA.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201603112232.AEJ78150.LOHQJtMFSVOFOF@I-love.SAKURA.ne.jp> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1377 Lines: 34 On Fri 11-03-16 22:32:02, Tetsuo Handa wrote: > Michal Hocko wrote: > > On Fri 11-03-16 19:45:29, Tetsuo Handa wrote: > > > (Posting as a reply to this thread.) > > > > I really do not see how this is related to this thread. > > All allocating tasks are looping at > > /* > * If we didn't make any progress and have a lot of > * dirty + writeback pages then we should wait for > * an IO to complete to slow down the reclaim and > * prevent from pre mature OOM > */ > if (!did_some_progress && 2*(writeback + dirty) > reclaimable) { > congestion_wait(BLK_RW_ASYNC, HZ/10); > return true; > } > > in should_reclaim_retry(). > > should_reclaim_retry() was added by OOM detection rework, wan't it? What happens without this patch applied. In other words, it all smells like the IO got stuck somewhere and the direct reclaim cannot perform it so we have to wait for the flushers to make a progress for us. Are those stuck? Is the IO making any progress at all or it is just too slow and it would finish actually. Wouldn't we just wait somewhere else in the direct reclaim path instead. -- Michal Hocko SUSE Labs