Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp6291469imu; Wed, 30 Jan 2019 12:06:56 -0800 (PST) X-Google-Smtp-Source: ALg8bN5LGUHgN3OYz/XWX7U8lLjoBJVSLhNd7Ht2Euq3nHwH1RQ/YaFAV4BKhKqps4Ab+t+QQYum X-Received: by 2002:a62:6047:: with SMTP id u68mr31363959pfb.239.1548878816459; Wed, 30 Jan 2019 12:06:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548878816; cv=none; d=google.com; s=arc-20160816; b=L3Tw5TUfRfg9ihnA2DtLL96fh5JS5THt8uk6FRxA5Tv96Txv5QNeM2CloxjLrM3qtF rq/wGlFyHmi4dpdtiBB0N11gN1wMmCiDwxRo1dOxTPhYP5oGOhE/Fd4thkmzlQpTeZn5 9aHBnPro+fuM4IDxmR/Ok0fBK3s7V65koQ0Xz+uxFp+ykNwdhfkA/jL6UwHFM2/+AaCv VhWCF4hGf9CyCNoK1TUlG8bat5CToW2ploesE0KLgK2pdgx5ASsOAaA6NRYHdWLuC50y DHd1zLMvmLslQF3yd/Hqb4/h24LP7Rae/GXH7BM+Rqz9iYXP0FrVFBADqhUAwz+joviF EAGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=C/o0gw9CWOCL0YUDcSVpAsEitM3Ombk0nlKLgUuvzls=; b=O8d5lPHzZyB7GIOn3XZTHtia8cZNZVj6cncZUKBZvPGNt1Zcs96PWz3NaQij4uHdmJ coi7K3p6gT+K34eScQQXfVq3LrhV7/w3UvbX6xoP8TJFrbF2mx5ZWSxuPabEkhBKMEky Xljd/U+P4LYfK76Kf+cZpKTdiE3eHKeD8lVXOGJIuEEzQscZte6UHv7QHBF2XvNOvzI+ 6Ce+xTkBGZc68JLrYTgWiPraEI7bMrOl5DmzCccIBv9/nRC8XkPu0LlxgS3jb5RK+LTZ GnRN5OHJJuMNNGCDehWNbpPj5G04Me+1DwqN8xxGXEQ0iDRjqAkQjs7ygg7CfaiqVWzW AY5Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v9si2252153pgo.23.2019.01.30.12.06.40; Wed, 30 Jan 2019 12:06:56 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733236AbfA3UGD (ORCPT + 99 others); Wed, 30 Jan 2019 15:06:03 -0500 Received: from mx2.suse.de ([195.135.220.15]:46442 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728048AbfA3UGC (ORCPT ); Wed, 30 Jan 2019 15:06:02 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 6C2FBAB87; Wed, 30 Jan 2019 20:06:00 +0000 (UTC) Date: Wed, 30 Jan 2019 21:05:59 +0100 From: Michal Hocko To: Johannes Weiner Cc: Tejun Heo , Chris Down , Andrew Morton , Roman Gushchin , Dennis Zhou , linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, kernel-team@fb.com Subject: Re: [PATCH 2/2] mm: Consider subtrees in memory.events Message-ID: <20190130200559.GI18811@dhcp22.suse.cz> References: <20190124082252.GD4087@dhcp22.suse.cz> <20190124160009.GA12436@cmpxchg.org> <20190124170117.GS4087@dhcp22.suse.cz> <20190124182328.GA10820@cmpxchg.org> <20190125074824.GD3560@dhcp22.suse.cz> <20190125165152.GK50184@devbig004.ftw2.facebook.com> <20190125173713.GD20411@dhcp22.suse.cz> <20190125182808.GL50184@devbig004.ftw2.facebook.com> <20190128125151.GI18811@dhcp22.suse.cz> <20190130192345.GA20957@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190130192345.GA20957@cmpxchg.org> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 30-01-19 14:23:45, Johannes Weiner wrote: > On Mon, Jan 28, 2019 at 01:51:51PM +0100, Michal Hocko wrote: > > On Fri 25-01-19 10:28:08, Tejun Heo wrote: > > > On Fri, Jan 25, 2019 at 06:37:13PM +0100, Michal Hocko wrote: > > > > Please note that I understand that this might be confusing with the rest > > > > of the cgroup APIs but considering that this is the first time somebody > > > > is actually complaining and the interface is "production ready" for more > > > > than three years I am not really sure the situation is all that bad. > > > > > > cgroup2 uptake hasn't progressed that fast. None of the major distros > > > or container frameworks are currently shipping with it although many > > > are evaluating switching. I don't think I'm too mistaken in that we > > > (FB) are at the bleeding edge in terms of adopting cgroup2 and its > > > various new features and are hitting these corner cases and oversights > > > in the process. If there are noticeable breakages arising from this > > > change, we sure can backpaddle but I think the better course of action > > > is fixing them up while we can. > > > > I do not really think you can go back. You cannot simply change semantic > > back and forth because you just break new users. > > > > Really, I do not see the semantic changing after more than 3 years of > > production ready interface. If you really believe we need a hierarchical > > notification mechanism for the reclaim activity then add a new one. > > This discussion needs to be more nuanced. > > We change interfaces and user-visible behavior all the time when we > think nobody is likely to rely on it. Sometimes we change them after > decades of established behavior - for example the recent OOM killer > change to not kill children over parents. That is an implementation detail of a kernel internal functionality. Most of changes in the kernel tend to have user visible effects. This is not what we are discussing here. We are talking about a change of user visibile API semantic change. And that is a completely different story. > The argument was made that it's very unlikely that we break any > existing user setups relying specifically on this behavior we are > trying to fix. I don't see a real dispute to this, other than a > repetition of "we can't change it after three years". > > I also don't see a concrete description of a plausible scenario that > this change might break. > > I would like to see a solid case for why this change is a notable risk > to actual users (interface age is not a criterium for other changes) > before discussing errata solutions. I thought I have already mentioned an example. Say you have an observer on the top of a delegated cgroup hierarchy and you setup limits (e.g. hard limit) on the root of it. If you get an OOM event then you know that the whole hierarchy might be underprovisioned and perform some rebalancing. Now you really do not care that somewhere down the delegated tree there was an oom. Such a spurious event would just confuse the monitoring and lead to wrong decisions. -- Michal Hocko SUSE Labs