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=-14.4 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham 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 417ECC2BA19 for ; Mon, 13 Apr 2020 17:06:11 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id ED6AC20692 for ; Mon, 13 Apr 2020 17:06:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="ii3fa08G" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ED6AC20692 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 9E19B8E012D; Mon, 13 Apr 2020 13:06:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 992698E0104; Mon, 13 Apr 2020 13:06:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8A7918E012D; Mon, 13 Apr 2020 13:06:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0042.hostedemail.com [216.40.44.42]) by kanga.kvack.org (Postfix) with ESMTP id 6F0958E0104 for ; Mon, 13 Apr 2020 13:06:10 -0400 (EDT) Received: from smtpin07.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 25E4C181AEF23 for ; Mon, 13 Apr 2020 17:06:10 +0000 (UTC) X-FDA: 76703459700.07.level84_52ef9ca4e0858 X-HE-Tag: level84_52ef9ca4e0858 X-Filterd-Recvd-Size: 4967 Received: from mail-lj1-f196.google.com (mail-lj1-f196.google.com [209.85.208.196]) by imf08.hostedemail.com (Postfix) with ESMTP for ; Mon, 13 Apr 2020 17:06:09 +0000 (UTC) Received: by mail-lj1-f196.google.com with SMTP id h25so9433439lja.10 for ; Mon, 13 Apr 2020 10:06:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1WLaWqL0M37vBrpN7C6PrqvMLwn/+QFDXA/NRDK7/EA=; b=ii3fa08G20l3r6Bnmsy1LjaB0fkVBkRi/3Wcc6oJSmk/83TFxqHc+95zJEDqkA02Ic 8DpBSs0CeBk+yV540Z/jFw09mBYejuPAb5Z3yvVTD8OED4OXEATSSlTbunJXDWGxJja5 hBlsSARsW3+uG8Gl5Csg8uSYT3GLeqK6mw8aVoFYM/1MnuK9Z9B40brKTDAWqkh2ksRU gOGkniDvMgQMhVXlhNQG042jxQDqo4cGTfn10Oex022JmBllLcs7PD1VrTs/BtH8cOF/ uQipbULMsuN6ii6aKdeMfhMctPxd04tJsfssRYjxYeFNvkZWpLKm2OqxiKbhQWrDscuv F9ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1WLaWqL0M37vBrpN7C6PrqvMLwn/+QFDXA/NRDK7/EA=; b=lW0iGncoaytt6Crb5OjSsk5VUCQcqtAf4DtH4D11uvmy7KYEwb0tR+hpPuUNUXpxOd Nvowl5ss/yWPk7FP6MGEzXSy3TWIkydyaKaNzsnisNeMCBBlx/fGmo9fLxHJa2s7QIhQ f1M3bhBV1xOQa+HRKFWKy51OnbVb61agQL806sH7QKgiEE8wPhf3XMUizwjnCp2ohqsZ BGCYHSpSSMIqCS3klxB5s45B3C43pEc+RAttOg7m29thYcdl3QLHCaVKPSf/pPbAnMxl GD4AF1FlW3ecIB7hMIKMbQpgC1CYev6oxlBkquVsTsNdIr0UVbKNaLFwCDmds5hMQ/Nw s5kg== X-Gm-Message-State: AGi0PubO5kbwB0qUaBMKQ22PEw9/mD6MavGJV5D45GtXm5b0vXzD+1jy v6R/FziYtMBlqn4XeqYzVlXfgUgwlTvTrvDIV1ulFQ== X-Google-Smtp-Source: APiQypIBgpGiWLXQZUe7pzFncf/ozTjOFnRtp36ZENdP6NPyLLadnkxUaJca0qGchAEjLjIhQWvykNqkb1Ad4roz9yQ= X-Received: by 2002:a2e:9ac9:: with SMTP id p9mr10987422ljj.222.1586797568017; Mon, 13 Apr 2020 10:06:08 -0700 (PDT) MIME-Version: 1.0 References: <20200412140427.6732-1-laoar.shao@gmail.com> In-Reply-To: <20200412140427.6732-1-laoar.shao@gmail.com> From: Shakeel Butt Date: Mon, 13 Apr 2020 10:05:56 -0700 Message-ID: Subject: Re: [PATCH] mm, memcg: fix inconsistent oom event behavior To: Yafang Shao Cc: Chris Down , Johannes Weiner , Michal Hocko , Vladimir Davydov , Andrew Morton , Linux MM , stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" 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 Sun, Apr 12, 2020 at 7:04 AM Yafang Shao wrote: > > A recent commit 9852ae3fe529 ("mm, memcg: consider subtrees in > memory.events") changes the behavior of memcg events, which will > consider subtrees in memory.events. But oom_kill event is a special one > as it is used in both cgroup1 and cgroup2. In cgroup1, it is displayed > in memory.oom_control. The file memory.oom_control is in both root memcg > and non root memcg, that is different with memory.event as it only in > non-root memcg. That commit is okay for cgroup2, but it is not okay for > cgroup1 as it will cause inconsistent behavior between root memcg and > non-root memcg. I still couldn't understand the cgroup v1's root vs non_root behavior change. The behavior change I see is the hierarchical one i.e. MEMCG_OOM_KILL event in the descendant will cause the notification and count increment in the ancestors even in the cgroup v1. I suppose we don't want that behavior change in v1. > Let's recover the original behavior for cgroup1. > > Fixes: 9852ae3fe529 ("mm, memcg: consider subtrees in memory.events") > Cc: Chris Down > Cc: Johannes Weiner > Cc: Shakeel Butt > Cc: stable@vger.kernel.org > Signed-off-by: Yafang Shao > --- > include/linux/memcontrol.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h > index 8c340e6b347f..a0ae080a67d1 100644 > --- a/include/linux/memcontrol.h > +++ b/include/linux/memcontrol.h > @@ -798,7 +798,8 @@ static inline void memcg_memory_event(struct mem_cgroup *memcg, > atomic_long_inc(&memcg->memory_events[event]); > cgroup_file_notify(&memcg->events_file); > > - if (cgrp_dfl_root.flags & CGRP_ROOT_MEMORY_LOCAL_EVENTS) > + if (cgrp_dfl_root.flags & CGRP_ROOT_MEMORY_LOCAL_EVENTS || > + !cgroup_subsys_on_dfl(memory_cgrp_subsys)) > break; > } while ((memcg = parent_mem_cgroup(memcg)) && > !mem_cgroup_is_root(memcg)); > -- > 2.18.2 >