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 9098FC83F17 for ; Fri, 18 Jul 2025 09:19:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2E2C76B0095; Fri, 18 Jul 2025 05:19:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2927F6B0096; Fri, 18 Jul 2025 05:19:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 181376B00AB; Fri, 18 Jul 2025 05:19:01 -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 0227B6B0095 for ; Fri, 18 Jul 2025 05:19:00 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id A75A5B8C4B for ; Fri, 18 Jul 2025 09:19:00 +0000 (UTC) X-FDA: 83676836040.24.60BAC50 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) by imf21.hostedemail.com (Postfix) with ESMTP id A73261C0009 for ; Fri, 18 Jul 2025 09:18:58 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=G9mcrPBA; spf=pass (imf21.hostedemail.com: domain of mkoutny@suse.com designates 209.85.218.51 as permitted sender) smtp.mailfrom=mkoutny@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752830338; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=joBFBOMytxNNU/jMdqhGaVi+szdGw5RUwZA6YyI+ma0=; b=mW5CFDK761uqQtg1oYXxWkeK99SXKVGt8bCmh5lhZG9RsIhWOvNguNIYQ+2VB/wlbeKJsL f++ORR6ikDFnoCDqmu1dl9LUWCIyGTVf2Pe61/m+9CqPH7ExMFYgA7Uvv15qWGB4zjB9Oe d2aoe442yn8QAj5mbf7j1c/dZNVaODo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752830338; a=rsa-sha256; cv=none; b=ZUWvjekk0O+XH+P4tvmJlhkfReraHeYnVtqgvh04oI760yg600nDTDRHxRSyc07NE+hWYF Htd1OwiO3vopjiXUDNLOWrgu/sV8klO0ffXLb/WQm8N3n2pCslQOO8xtThKgT5ZqSKkkMQ wyQCpvv3a6IEKMB8GU5gw+v1R50m/8I= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=G9mcrPBA; spf=pass (imf21.hostedemail.com: domain of mkoutny@suse.com designates 209.85.218.51 as permitted sender) smtp.mailfrom=mkoutny@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-ae3a604b43bso315606866b.0 for ; Fri, 18 Jul 2025 02:18:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1752830337; x=1753435137; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=joBFBOMytxNNU/jMdqhGaVi+szdGw5RUwZA6YyI+ma0=; b=G9mcrPBAoL56bWNs+Z4qJPWReVgd3OqgtYa+it78dxOaVVia59MSa69Zr/A/woXg/J TLwvGTytJ/aYNNcSpxVtYvznH35iuYvP9eP74LbCzi8YLAWuzEtHVjCmYUfspzdRM7OA RGAlFFXzTZHIgpNJCoNz4wdXvfejMovyQQv+nQx+45jQvpUFNMMjVvut/o2P9DzE9cDH N+Y1efzvymC24Wlkftpda8gtxAhGNFaZNeWWKmDP/qyQkOucNltJ3ptg+L3BPYTS+WN0 QFo57XjOLnagTisu+g4Lp07SMXYYVx50e6nWtymBXf8D6WWwjiNsmZEogOis8xcrMafB Q3yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752830337; x=1753435137; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=joBFBOMytxNNU/jMdqhGaVi+szdGw5RUwZA6YyI+ma0=; b=Xp2Gx3uDErvXh9b3XURfl1A0ZPIi9b6mhbt/ixJ6gqs4QzEVaoL3D3DrSb+IwtXXG8 INLFHBEldLefwFwz4fX5HHA9oX/qu6oYEiy4JKr2U64+LslEBeHnKbMQ/Ur3ykJJI/iZ 6j5ufFO6fWRxxrCzHnwnYATDXQNWOE0g94e1VC+gvM23lFpc0bb0m655BZOpEUhwETGj ZLOf4DeV2atknigP0HYKXWRjAUhap5aMYDO8gnXi1Ofjz10k2jjzMfj3tqssdv4QYFuE 3O8QFztXsXL59JVTVdKKLSS5/jiNd57o+o3lcATjR9byCogq9r01Kq2XlTnbRxTWsYV4 633g== X-Forwarded-Encrypted: i=1; AJvYcCXVd/WHHTdtj2VkheXZ2POHFT9g/9yHQSJpM/ZY6Vi2BAxvS1RXiA8xTlDOnmXSWrdTZlzOTGBIPg==@kvack.org X-Gm-Message-State: AOJu0Ywc3X6CN/sNMVBnfduNdqser5fAZRiu0hfGYbkyYDdU3yig1Pru dPxBvVItK5mGwts41PS+Y6cXp7pWqCk5gI3o5NLsoMHaFiZ8zL1r5T0DDws2fEw5HFA= X-Gm-Gg: ASbGnctQnXLMMDvN89t/zB2KS+o1NoGyzuitezHL9J62TJhtRZzFpQPLw+Q2kqf3emq UfSoYR4Xluay6migMkn2SmdHl82iDSoxCT2bKUmvrdVHdABINL1QHflumwGaPeVf86BvCK4k25J tvHPFgTqBGhAuvOuoozG+NVl09Wt3HDZHfUxFvfiKhFTvFwzEXDolU90oiCBkcvUaP2DdXjh5dX w/gnnnia4eWLuzTRh2yv8jD/FBfs9PdTI3zTA8tnsPuX0If1VCDOMuShkfIQfbnnfSYE8KZ6ywm nXt7TmV5rZTReI4iTkS1gXKSZZEJ01YCprQvSXpEHmB2BRXVAv0i7MdK7x8FFnQDLwiIz/lVO6S +UsiEjIo1h3N7nRbgIJIjr8YqpqQlqbxMJ8hkbgkHog== X-Google-Smtp-Source: AGHT+IGgzlzcp+poi8q6uuu7BU3aB58Ut4IdQD49YEpQkvDUzHt2FYW5lWaitH/yqU5HPqp9C13ynQ== X-Received: by 2002:a17:907:26cd:b0:ae3:bb0a:1ccd with SMTP id a640c23a62f3a-ae9cde5a17amr905879966b.26.1752830336917; Fri, 18 Jul 2025 02:18:56 -0700 (PDT) Received: from blackdock.suse.cz (nat2.prg.suse.com. [195.250.132.146]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aec6ca2efc1sm85811266b.83.2025.07.18.02.18.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jul 2025 02:18:56 -0700 (PDT) Date: Fri, 18 Jul 2025 11:18:54 +0200 From: Michal =?utf-8?Q?Koutn=C3=BD?= To: Tejun Heo , Ben Hutchings Cc: cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Zefan Li , Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , Chen Ridong , 1108294@bugs.debian.org Subject: Re: [PATCH 4/4] cgroup: Do not report unavailable v1 controllers in /proc/cgroups Message-ID: <7sbzasggfk3elhvxsd5mtuzd4yo3c64wuzkaulr7yqybpfxwuh@g6dcatriw7hx> References: <20240909163223.3693529-1-mkoutny@suse.com> <20240909163223.3693529-5-mkoutny@suse.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="lv3ti64caqbl2n53" Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: A73261C0009 X-Stat-Signature: m4jxq6hwcjqcmsc7pcyndhbhmxerhz1m X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1752830338-769053 X-HE-Meta: U2FsdGVkX184W+J8S80FMAyv2fxjOks8d87iIHJg+OcOdIsztwFVMM0pRpUjzUlnKseqtA+RcJVkRSsUO50p27fymfrYJlCG1begGoqlXlHH5nwFE91epmyCGed7/hG3THDHWUJEYfq+HnQoZpA4FZIIEeo+OuZQJ2pXh4eQ6oqaSpJxIKgwfwHrYz3avA5xpCvWMHI9tTOJKpzREvEdN2Cg+83tJoaqgUOFr2r5ytNfc18HtRPJddbXZrrJwZh1sjbQoAvNbdC24S/vg7XBHo0KvKwDVbw5/y4TnT5JgKnqmtu4hcNNCmLu0zWerefBA/QnP1MRWH3ljj/6hj35sY7Tb9RU7tzT1q7l05s1bPshkVN+n2dS5qm5bxgmtR4yEwPnhf5QQFm3+R/qW+TKZmry2yajXeGmbm9xNc8Qt8mtdCNELtNCcNZ5lIDpHbS8QRuKq9Wn3phgElxOl1sAAmVZzN94IW/8622vSJDcu/mYNekcNy3J2UYWirpxJBjRxtwk0YMwtDPlgCFu4dQtOT6yQG/l3DTNpDz4cBexqcnLdAmXXRLDlnqLUhYuIM6CgfNq2JbXC6qOH6qGPfqmSyr85gH5G+a6z/MVpWgLSld9Ce0wFYUeq3Zs2X3avrL36sNhBSM3J03cNCUmUNx41N2zxyf5WyPaMxhsxK+sdzIaafhvBqRYuR01NxreysNytU0cyUBTre+WhqeURm4oYmnbqbHQeBhFKXoV5t3bhXVQutB4x+qWxDwc9pa7TePGI2cO0+Po430LO9xpDWfi3v1V15OnEZZP1QCYrcHoTmszBCfZSX9d2k06SSdMC/dERauZcWSU+mdh+/J9UiBh1oFusCs+f4pKNTLP5/+8TNqpBGiOLAsirprYjGv/ek3noeMt2bk9VNojQwla61KysYsCZ3n0Qq/EZRpqKPVq1EPmp9bwNmAUisW31jo2x72Dp4v6yK3u0sLvHGxlVFR dIO855+v 3gUVpw6+cOjsg4lybWP7LLqkBo8fLbgWA/rwOYRXoo8cIb/YszdNwwsfZlKFsvZ2vNSb7fdbC4olcZxctlZfJov3sy8ld4Wx9SWupiiGVjKhK5jpxFfvk3nxJGgg5pZWGhyu4+0I9KvG9LakO/tB45HRpyCl1w7Ujo2uFLAQnt95YMgdwJz6KBW9F+n8P4ToGFtYreqBhjKoqSSsPMf5GfRFXZrvFnZZe3Ioq9r/uMpGqG2JCzX9ipKwdM/CjgM1s2VnthA7zR9dw0+rMk6S33Tsn3gFMovAwdFpHl2gso8siURGKKoFmxc+lQTcAcwoB5tjBNEhALvYv41atY60vQmrto0h4z/BRTTDU/WQt4nfggRagJ5CuQwQo5ffP8UJjagnZ6pEfSCT+0mQTNiKLPcIFn2wuKe0dVCo6LObP1rDZAuVmEue92jVPLgLdaHGWiHhNQVxKlRF6I5hR5llRS/cH77pkrmBgvOjm7EiPyWRNIwq6RcGP89ZDi3GH5HP51HKkwMepD9nKgCCOfh1IvCyuHYmJofxdgmrGPGXbpBERxbkKCx+j6ZJ0epzj25gkNEbt 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: --lv3ti64caqbl2n53 Content-Type: text/plain; protected-headers=v1; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH 4/4] cgroup: Do not report unavailable v1 controllers in /proc/cgroups MIME-Version: 1.0 On Fri, Jul 11, 2025 at 12:15:07PM -1000, Tejun Heo wrote: > I think we still want to deprecate /proc/cgroups but given that there are > impacted users maybe we can bring it back under a boottime param w/ warni= ng? Something like below? (I don't change the log level.) Ben, the affected Java users could modify it at boot time. I saw your revert is in v6.12, so you may also want backport of a0ab1453226d8 to give the users a message. (I realize current->comm in the message would be even more instructive.) -- >8 -- =46rom ace88e9e3a77ff3fe86aee4b7a5866b3bfd2df58 Mon Sep 17 00:00:00 2001 =46rom: =3D?UTF-8?q?Michal=3D20Koutn=3DC3=3DBD?=3D Date: Thu, 17 Jul 2025 17:38:47 +0200 Subject: [PATCH] cgroup: Add compatibility option for content of /proc/cgro= ups MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit /proc/cgroups lists only v1 controllers by default, however, this is only enforced since the commit af000ce85293b ("cgroup: Do not report unavailable v1 controllers in /proc/cgroups") and there is software in the wild that uses content of /proc/cgroups to decide on availability of v2 (sic) controllers. Add a boottime param that can bring back the previous behavior for setups where the check in the software cannot be changed and it causes e.g. unintended OOMs. Also, this patch takes out cgrp_v1_visible from cgroup1_subsys_absent() guard since it's only important to check which hierarchy (v1 vs v2) the subsys is attached to. This has no effect on the printed message but the code is cleaner since cgrp_v1_visible is really about mounted hierarchies, not the content of /proc/cgroups. Link: https://lore.kernel.org/r/b26b60b7d0d2a5ecfd2f3c45f95f32922ed24686.ca= mel@decadent.org.uk Fixes: af000ce85293b ("cgroup: Do not report unavailable v1 controllers in = /proc/cgroups") Fixes: a0ab1453226d8 ("cgroup: Print message when /proc/cgroups is read on = v2-only system") Signed-off-by: Michal Koutn=FD --- Documentation/admin-guide/kernel-parameters.txt | 8 ++++++++ kernel/cgroup/cgroup-v1.c | 14 ++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentatio= n/admin-guide/kernel-parameters.txt index 07e22ba5bfe34..f6d317e1674d6 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -633,6 +633,14 @@ named mounts. Specifying both "all" and "named" disables all v1 hierarchies. =20 + cgroup_v1_proc=3D [KNL] Show also missing controllers in /proc/cgroups + Format: { "true" | "false" } + /proc/cgroups lists only v1 controllers by default. + This compatibility option enables listing also v2 + controllers (whose v1 code is not compiled!), so that + semi-legacy software can check this file to decide + about usage of v2 (sic) controllers. + cgroup_favordynmods=3D [KNL] Enable or Disable favordynmods. Format: { "true" | "false" } Defaults to the value of CONFIG_CGROUP_FAVOR_DYNMODS. diff --git a/kernel/cgroup/cgroup-v1.c b/kernel/cgroup/cgroup-v1.c index fa24c032ed6fe..2a4a387f867ab 100644 --- a/kernel/cgroup/cgroup-v1.c +++ b/kernel/cgroup/cgroup-v1.c @@ -32,6 +32,9 @@ static u16 cgroup_no_v1_mask; /* disable named v1 mounts */ static bool cgroup_no_v1_named; =20 +/* Show unavailable controllers in /proc/cgroups */ +static bool proc_show_all; + /* * pidlist destructions need to be flushed on cgroup destruction. Use a * separate workqueue as flush domain. @@ -683,10 +686,11 @@ int proc_cgroupstats_show(struct seq_file *m, void *v) */ =20 for_each_subsys(ss, i) { - if (cgroup1_subsys_absent(ss)) - continue; cgrp_v1_visible |=3D ss->root !=3D &cgrp_dfl_root; =20 + if (!proc_show_all && cgroup1_subsys_absent(ss)) + continue; + seq_printf(m, "%s\t%d\t%d\t%d\n", ss->legacy_name, ss->root->hierarchy_id, atomic_read(&ss->root->nr_cgrps), @@ -1359,3 +1363,9 @@ static int __init cgroup_no_v1(char *str) return 1; } __setup("cgroup_no_v1=3D", cgroup_no_v1); + +static int __init cgroup_v1_proc(char *str) +{ + return (kstrtobool(str, &proc_show_all) =3D=3D 0); +} +__setup("cgroup_v1_proc=3D", cgroup_v1_proc); --=20 2.50.0 --lv3ti64caqbl2n53 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQRCE24Fn/AcRjnLivR+PQLnlNv4CAUCaHoRfAAKCRB+PQLnlNv4 CJVaAP9sO+/2YiTwceG9v6JkcxV5hfVwLBHieERy+1l7jsbjAAD/QSfBAgM5hcw1 bXWYcQUKpYEwRHUR8Ir+zw4u8U1lMQc= =hiX6 -----END PGP SIGNATURE----- --lv3ti64caqbl2n53--