From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0F79BC433E0 for ; Thu, 11 Jun 2020 09:55:20 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id ADFD5207C3 for ; Thu, 11 Jun 2020 09:55:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ADFD5207C3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 1D19E8D0090; Thu, 11 Jun 2020 05:55:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 181FF8D0084; Thu, 11 Jun 2020 05:55:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 071588D0090; Thu, 11 Jun 2020 05:55:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0167.hostedemail.com [216.40.44.167]) by kanga.kvack.org (Postfix) with ESMTP id E49008D0084 for ; Thu, 11 Jun 2020 05:55:18 -0400 (EDT) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id A3C4280799F3 for ; Thu, 11 Jun 2020 09:55:18 +0000 (UTC) X-FDA: 76916473116.27.paint94_3e0add226dd2 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin27.hostedemail.com (Postfix) with ESMTP id 747E319B0A5 for ; Thu, 11 Jun 2020 09:55:18 +0000 (UTC) X-HE-Tag: paint94_3e0add226dd2 X-Filterd-Recvd-Size: 5698 Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by imf18.hostedemail.com (Postfix) with ESMTP for ; Thu, 11 Jun 2020 09:55:17 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id r9so4388190wmh.2 for ; Thu, 11 Jun 2020 02:55:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=OGc4Jynhv8J9+LXwEVD2pmhTRYA7A0SBRA8Y9bWfwBM=; b=V/L5s8jZSqrTJT5TXDbHDIDWMS92T2Ra0DZFQ48uJnMkxbwpb85X8uQhAcoKfb4aoY 1fmVD/spqby3ib9w9yd1KE8yDBPl0gLGEGibcI07fXnHYrnAiZ3+SuenP+MgOGL6uqKT hGpg7McQEGJ5j3dSoMjzOWYS953Ll2r+TTRUgSgzCDEKJfZNr1AhYIf2a+4ttH10lrH8 k/ag2vzkvpMm0z+Ka8qhwxRzCJgczqAZF0yjmKl0R4woAvVwvSqCdXAuDk4yrrpnKXbx C+KalCVIypBAarXAhWR/u3VK7tjhGauSzCX9FACTyIOfhLj3UEQZ+F0dBKl8mlGtScvH m3cA== X-Gm-Message-State: AOAM532RhomoEwK4QoHNZh5hMklI9WvKrN7IgZYMxhOr9jVzt8V0VCHR KIvT8wQYQnDEY7rfQ9+EjYY= X-Google-Smtp-Source: ABdhPJxdFlFuIOqczVMYLEkBB/5DcRTZD3uW4Gi3wzWe6yykRWLuYTOprRKGwBQhCme4nouL4V90Cw== X-Received: by 2002:a7b:c18a:: with SMTP id y10mr7719246wmi.73.1591869316876; Thu, 11 Jun 2020 02:55:16 -0700 (PDT) Received: from localhost (ip-37-188-174-201.eurotel.cz. [37.188.174.201]) by smtp.gmail.com with ESMTPSA id 67sm4301281wrk.49.2020.06.11.02.55.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jun 2020 02:55:15 -0700 (PDT) Date: Thu, 11 Jun 2020 11:55:14 +0200 From: Michal Hocko To: Chris Down , Naresh Kamboju Cc: Yafang Shao , Anders Roxell , "Linux F2FS DEV, Mailing List" , linux-ext4 , linux-block , Andrew Morton , open list , Linux-Next Mailing List , linux-mm , Arnd Bergmann , Andreas Dilger , Jaegeuk Kim , Theodore Ts'o , Chao Yu , Hugh Dickins , Andrea Arcangeli , Matthew Wilcox , Chao Yu , lkft-triage@lists.linaro.org, Johannes Weiner , Roman Gushchin , Cgroups Subject: Re: mm: mkfs.ext4 invoked oom-killer on i386 - pagecache_get_page Message-ID: <20200611095514.GD20450@dhcp22.suse.cz> References: <20200521095515.GK6462@dhcp22.suse.cz> <20200521163450.GV6462@dhcp22.suse.cz> <20200528150310.GG27484@dhcp22.suse.cz> <20200528164121.GA839178@chrisdown.name> <20200529015644.GA84588@chrisdown.name> <20200529094910.GH4406@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200529094910.GH4406@dhcp22.suse.cz> X-Rspamd-Queue-Id: 747E319B0A5 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam03 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri 29-05-20 11:49:20, Michal Hocko wrote: > On Fri 29-05-20 02:56:44, Chris Down wrote: > > Yafang Shao writes: > > > Look at this patch[1] carefully you will find that it introduces the > > > same issue that I tried to fix in another patch [2]. Even more sad is > > > these two patches are in the same patchset. Although this issue isn't > > > related with the issue found by Naresh, we have to ask ourselves why > > > we always make the same mistake ? > > > One possible answer is that we always forget the lifecyle of > > > memory.emin before we read it. memory.emin doesn't have the same > > > lifecycle with the memcg, while it really has the same lifecyle with > > > the reclaimer. IOW, once a reclaimer begins the protetion value should > > > be set to 0, and after we traversal the memcg tree we calculate a > > > protection value for this reclaimer, finnaly it disapears after the > > > reclaimer stops. That is why I highly suggest to add an new protection > > > member in scan_control before. > > > > I agree with you that the e{min,low} lifecycle is confusing for everyone -- > > the only thing I've not seen confirmation of is any confirmed correlation > > with the i386 oom killer issue. If you've validated that, I'd like to see > > the data :-) > > Agreed. Even if e{low,min} might still have some rough edges I am > completely puzzled how we could end up oom if none of the protection > path triggers which the additional debugging should confirm. Maybe my > debugging patch is incomplete or used incorrectly (maybe it would be > esier to use printk rather than trace_printk?). It would be really great if we could move forward. While the fix (which has been dropped from mmotm) is not super urgent I would really like to understand how it could hit the observed behavior. Can we double check that the debugging patch really doesn't trigger (e.g. s@trace_printk@printk in the first step)? I have checked it again but do not see any potential code path which would be affected by the patch yet not trigger any output. But another pair of eyes would be really great. -- Michal Hocko SUSE Labs