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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3C6AAC52D7D for ; Wed, 14 Aug 2024 22:58:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CE37E6B009B; Wed, 14 Aug 2024 18:58:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C6CAE6B009C; Wed, 14 Aug 2024 18:58:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B0DF96B009D; Wed, 14 Aug 2024 18:58:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 9040B6B009B for ; Wed, 14 Aug 2024 18:58:19 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D212C161211 for ; Wed, 14 Aug 2024 22:58:18 +0000 (UTC) X-FDA: 82452366276.25.C1E8625 Received: from mail-yb1-f173.google.com (mail-yb1-f173.google.com [209.85.219.173]) by imf26.hostedemail.com (Postfix) with ESMTP id 0FD47140005 for ; Wed, 14 Aug 2024 22:58:15 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="uVoG9t0/"; spf=pass (imf26.hostedemail.com: domain of tjmercier@google.com designates 209.85.219.173 as permitted sender) smtp.mailfrom=tjmercier@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723676223; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=0LH9IZekz4kND2PuGVCdvgpQgNSIkQ3LAaUsAOTaDg8=; b=QWDUNFCa6scd27Kdj9Sl5mvSig3Eq29e0I7bMefnEurDAC2jgC3VFKhbnbGEPLRn63EV46 4CpAke6zYfRu0+qEeCrtaKHiYRfejsFwda0rnFZNNL7JCgLeHag4Rcw8+bn19+zwa4Enl4 b9VJxsNadd2vId2OOEBu7HA07889gu0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723676223; a=rsa-sha256; cv=none; b=a3XG/3N0I7Hr1MKSPRtuYYuSIF2eMTdkLZPfUvpsiK9WARs92qgFphcO7UUN7ajVDk82Ev Vrgxj4+2TKgICuMP/2i8JLoVO6EHY9S9oYATWkp5+SYnqyUsb6fEwhjLjDBQza2yAfF5lg d7nJzh5H52xW6DNcArEfJ/6wjS4TpmM= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="uVoG9t0/"; spf=pass (imf26.hostedemail.com: domain of tjmercier@google.com designates 209.85.219.173 as permitted sender) smtp.mailfrom=tjmercier@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-yb1-f173.google.com with SMTP id 3f1490d57ef6-e1157e88bc9so473495276.1 for ; Wed, 14 Aug 2024 15:58:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1723676295; x=1724281095; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=0LH9IZekz4kND2PuGVCdvgpQgNSIkQ3LAaUsAOTaDg8=; b=uVoG9t0/OXBj1d7HSq71OZnjhanoFubo2h9LLByUEf3PWdSc3IZ6e/2kZtc7/LGq+Z eGpJIHVNgL/6WsZO172MQWOTtDs20/aDP56uinOHP1hcU6LUMJTEme2Fmkin1hf7ag48 o/oonoCFAjps1S1sNjWhDXD5jxT4TCQf3+faqNmwKSCrnPbvhfaJIbQWxsTZfaWNbPrW c3SQBNF6H6TnAVjJXzMiRPjrafGEbj2sOA4G3/Pb2LjgmDWAG4v9jgWQDaRMtlP3SLx6 suoq3YL67170vW4TC6azH15CriRfc4ALaCX4jRGNxnsXLd2CRIIcdDowwwwYwZc8p97q 5RcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723676295; x=1724281095; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0LH9IZekz4kND2PuGVCdvgpQgNSIkQ3LAaUsAOTaDg8=; b=B2fJAiLYfvWqNoeLqNs0BBFtC/+hVDcel01R835JxpYTl5locCDA5uyQMUEG1itzgs qQ6Mw/o4T9mXkSLqqAHlYJI0kYFenSwiNMc5dEIUDJxK6xN/50/jJDeDWYv2QBH9lN5H TPITz6MwEvFXYjVQT3y6N5hMxexFTCAAqf4QClJ3jatT4FdvcZH84pAVBMQhS+pJIa7P pCtn5GQd+KbwqSyQzy2XzAokQb8zgDda6ikRq0wa4dqEwNjtnyNouC/W0BM8rGUMFbcQ PSOKytHp+5ewvoeZrhEBOMhO26KqY2VOfjKKGL864pPa/ddwsY13fxhLq+r/V1rDYpZG KFzQ== X-Forwarded-Encrypted: i=1; AJvYcCVWslhlQPE9BMnIe6iDNEoD5SXJBJ0yv6UeuG/nq5N0kr0NO1k1SZ4nx3YdcLx4AFpdTKMH5aYuCQ==@kvack.org X-Gm-Message-State: AOJu0YxEuHHVSbpKCKHf53H5S+yOIqoPGc24gf4jeEmHn08Ug1ixxO1z cVOENNCbRh1nK53A6MDXE90wuB9pCttBy+5zFQTBvhFarNZ4wFPL3CfxjTaqpPREYK44XH/4UTL eGkeVvswhRRGVgaRbtMSxnvYMjJyKEwXss+2j X-Google-Smtp-Source: AGHT+IGMh670qk/wVX9LikwlOg/tM7AX9HaJJ+9M/wLsONwxycfHG8idh1uP1XZ/P7iHetg0R2VUp1EhYjZ/V33KXSw= X-Received: by 2002:a05:6902:1021:b0:e08:5bd7:6bdb with SMTP id 3f1490d57ef6-e1155a426eemr5238466276.3.1723676294551; Wed, 14 Aug 2024 15:58:14 -0700 (PDT) MIME-Version: 1.0 References: <20240814220021.3208384-1-shakeel.butt@linux.dev> <20240814220021.3208384-4-shakeel.butt@linux.dev> In-Reply-To: <20240814220021.3208384-4-shakeel.butt@linux.dev> From: "T.J. Mercier" Date: Wed, 14 Aug 2024 15:58:03 -0700 Message-ID: Subject: Re: [PATCH v2 3/4] memcg: initiate deprecation of oom_control To: Shakeel Butt Cc: Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Meta kernel team , cgroups@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: 8rqpuguiwrz9pbxmomx54qqxbqzg3ay1 X-Rspamd-Queue-Id: 0FD47140005 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1723676295-412471 X-HE-Meta: U2FsdGVkX19YEP8TJhAX4wWLfgEHAZbkMWoZD1tEzXwQdyMkwcDmXHS/Onovj7WHMH1drlyn8Ac2snX9fr5/Qd4bOtvUD5D/6vl4Z0/Y4jqZxBG8Yu8FwY2nXT2TX+0OAe7GzH021+YL06FwOlDON9ZWPZT/MLknal/HgGSFGUnYRQhJfo8F+/fSGyO1mN65qJIbXxLqqhmy5YPS/YD3g7jzV58jhxKU0w+zVCjagfoFHxmkpsew49mF9RbOEJY4BaC4jveEERfvxDxtP+p0YH1K1IDlpjc0ATpOjNr9/uZE1BSnXTAt+bHxliYd6hdkx6PgDozH7YI9CeW+ckIpp84pjAZKNAuX3L2/FikYpKiIALCLnB573wpvEJSuXOJGaK+0OLt16dHAhKrSe6fHVJ/1PwwTOE39eMjOlohIxY9n8155uAHV6pBZh6OR6t2A0uaaD177ChcNyQlYRwJWZZEFogIN2BXr2eEMBemm5yLv6kZIeECdNM9QSxl1A8CuLcJv4s4hJG7O52F6Ue51dWRcfPKxfTv+o6tPpa2nKRPWyJqTHAldzDHqRl3jVTBJshzKUN8lX4KFB2ORMdnPQ0hz1QTuIgPDrRLHO9Z+epYs+tXaCuFLBE28pbTcJkyMRhHu21VmAROY6Jfc4e0qxbRL+5n7Jd/JlOhJHHmlqhHD9p/iYTiPZhx6C8JCXqFYcmABktazb9DI5tcpsekvmgxSE+MZvVkluK5Vo0eiKV7oxLrQYkjStBadx1CNoi8FeZF+QWMoyx6fZVT6tInNhNgHeXFxZTXiijm9BN3I+AKDWCEa6VA+v7lJqhXgTZyYg3KCcwVU63F+QqLImm46RzWCEK4zOi6oy/77wah0U5hJzDcMlbTnttQx7x0bBOHj+cgH8uvGZPU8lGdxEyCNeEQrVq2D5mHKFPM6EL5fmvvHV1d5Jf0N8c+h6Um+bLH8gkH3QhkPRezaxa7mJjw 46luncMz pFk9kmdU6hbzrs7JlvdhjRMA4YQ7z4Qsly5Eo9ZxfD7YwkbCdxzmvp0gnjiX9sCDufWLJRdtvHHkPiuy3xWT+H8xklfhmYLowoTvDYjzUrPz5geCj8imLtJDAiMB3inYtV69P8gP4MC04Pksr4JEp3VwKeO5KzmHK8IccyPVJxxwK8ooAOuQf7bCBaEhdwKlRyvtmFzHtX2QUxLbgoUgn2kjD4DuFEEz37Ep1DuxabVs4a0bswr1iS1gbns13FJnYNQ25AcR99nPwrRCIZH9EtS7gYRqehJjM64ulr1t526xBwrI= 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: List-Subscribe: List-Unsubscribe: On Wed, Aug 14, 2024 at 3:00=E2=80=AFPM Shakeel Butt wrote: > > The oom_control provides functionality to disable memcg oom-killer, > notifications on oom-kill and reading the stats regarding oom-kills. > This interface was mainly introduced to provide functionality for > userspace oom-killers. However it is not robust enough and only supports > OOM handling in the page fault path. > > For v2, the users can use the combination of memory.events notifications > and memory.high interface to provide userspace OOM-killing functionality. Might be worth it to mention PSI here too for userspace OOM-killing? (It's what LMKD does for Android.) > Let's start the deprecation process for v1 and gather the info on how > the current users are using this interface and work on providing a more > robust functionality in v2. > > Signed-off-by: Shakeel Butt Reviewed-by: T.J. Mercier > --- > Changes since v1: > - Fix build (T.J. Mercier) > > Documentation/admin-guide/cgroup-v1/memory.rst | 8 ++++++-- > mm/memcontrol-v1.c | 7 +++++++ > 2 files changed, 13 insertions(+), 2 deletions(-) > > diff --git a/Documentation/admin-guide/cgroup-v1/memory.rst b/Documentati= on/admin-guide/cgroup-v1/memory.rst > index 6831c6c16e3f..0042206414c8 100644 > --- a/Documentation/admin-guide/cgroup-v1/memory.rst > +++ b/Documentation/admin-guide/cgroup-v1/memory.rst > @@ -92,6 +92,8 @@ Brief summary of control files. > This knob is deprecated and shouldn= 't be > used. > memory.oom_control set/show oom controls. > + This knob is deprecated and shouldn= 't be > + used. > memory.numa_stat show the number of memory usage per = numa > node > memory.kmem.limit_in_bytes Deprecated knob to set and read the= kernel > @@ -846,8 +848,10 @@ It's applicable for root and non-root cgroup. > > .. _cgroup-v1-memory-oom-control: > > -10. OOM Control > -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > +10. OOM Control (DEPRECATED) > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > + > +THIS IS DEPRECATED! > > memory.oom_control file is for OOM notification and other controls. > > diff --git a/mm/memcontrol-v1.c b/mm/memcontrol-v1.c > index e0bb54e42011..334a02597d9a 100644 > --- a/mm/memcontrol-v1.c > +++ b/mm/memcontrol-v1.c > @@ -1907,6 +1907,9 @@ static ssize_t memcg_write_event_control(struct ker= nfs_open_file *of, > event->register_event =3D mem_cgroup_usage_register_event= ; > event->unregister_event =3D mem_cgroup_usage_unregister_e= vent; > } else if (!strcmp(name, "memory.oom_control")) { > + pr_warn_once("oom_control is deprecated and will be remov= ed. " > + "Please report your usecase to linux-mm-@kva= ck.org" > + " if you depend on this functionality. \n"); > event->register_event =3D mem_cgroup_oom_register_event; > event->unregister_event =3D mem_cgroup_oom_unregister_eve= nt; > } else if (!strcmp(name, "memory.pressure_level")) { > @@ -2754,6 +2757,10 @@ static int mem_cgroup_oom_control_write(struct cgr= oup_subsys_state *css, > { > struct mem_cgroup *memcg =3D mem_cgroup_from_css(css); > > + pr_warn_once("oom_control is deprecated and will be removed. " > + "Please report your usecase to linux-mm-@kvack.org i= f you " > + "depend on this functionality. \n"); > + > /* cannot set to root cgroup and only 0 and 1 are allowed */ > if (mem_cgroup_is_root(memcg) || !((val =3D=3D 0) || (val =3D=3D = 1))) > return -EINVAL; > -- > 2.43.5 >