Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753020AbbGAGRg (ORCPT ); Wed, 1 Jul 2015 02:17:36 -0400 Received: from mail-wg0-f54.google.com ([74.125.82.54]:34384 "EHLO mail-wg0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752935AbbGAGRe (ORCPT ); Wed, 1 Jul 2015 02:17:34 -0400 Date: Wed, 1 Jul 2015 08:17:31 +0200 From: Michal Hocko To: Nikolay Borisov , Johannes Weiner , Andrew Morton Cc: Dave Chinner , "Theodore Ts'o" , Marian Marinov , linux-mm@kvack.org, LKML , linux-ext4@vger.kernel.org Subject: Re: [PATCH] mm, vmscan: Do not wait for page writeback for GFP_NOFS allocations Message-ID: <20150701061731.GB6286@dhcp22.suse.cz> References: <1435677437-16717-1-git-send-email-mhocko@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1435677437-16717-1-git-send-email-mhocko@suse.cz> 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 Content-Length: 2149 Lines: 45 On Tue 30-06-15 17:17:17, Michal Hocko wrote: [...] > Hi, > the issue has been reported http://marc.info/?l=linux-kernel&m=143522730927480. > This obviously requires a patch ot make ext4_ext_grow_indepth call > sb_getblk with the GFP_NOFS mask but that one makes sense on its own > and Ted has mentioned he will push it. I haven't marked the patch for > stable yet. This is the first time the issue has been reported and > ext4 writeout code has changed considerably in 3.11 and I am not sure > the issue was present before. e62e384e9da8 which has introduced the > wait_on_page_writeback has been merged in 3.6 which is quite some time > ago. If we go with stable I would suggest marking it for 3.11+ and it > should obviously go with the ext4_ext_grow_indepth fix. After Dave's additional explanation (http://marc.info/?l=linux-ext4&m=143570521212215) it is clear that the lack of __GFP_FS check was wrong from the very beginning. XFS is doing the similar thing from before the e62e384e9da8 was merged. I guess we were just lucky not to hit this problem sooner. That being said I think the patch should be marked for stable and the changelog updated: As per David Chinner the xfs is doing similar thing since 2.6.15 already so ext4 is not the only affected filesystem. Moreover he notes: : For example: IO completion might require unwritten extent conversion : which executes filesystem transactions and GFP_NOFS allocations. The : writeback flag on the pages can not be cleared until unwritten : extent conversion completes. Hence memory reclaim cannot wait on : page writeback to complete in GFP_NOFS context because it is not : safe to do so, memcg reclaim or otherwise. Cc: stable # 3.6+ Fixes: e62e384e9da8 ("memcg: prevent OOM with too many dirty pages") Andrew let me know whether I should repost the patch with the updated changelog or you can take it from here. -- Michal Hocko SUSE Labs -- 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/