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-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html