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 1FD18EB64D9 for ; Tue, 4 Jul 2023 11:52:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AFFAF280072; Tue, 4 Jul 2023 07:52:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AAFDA90000D; Tue, 4 Jul 2023 07:52:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C5A9280072; Tue, 4 Jul 2023 07:52:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 8CDB990000D for ; Tue, 4 Jul 2023 07:52:52 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 488DFB036B for ; Tue, 4 Jul 2023 11:52:52 +0000 (UTC) X-FDA: 80973767784.15.29956C4 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) by imf18.hostedemail.com (Postfix) with ESMTP id 855FB1C001E for ; Tue, 4 Jul 2023 11:52:50 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=none); spf=pass (imf18.hostedemail.com: domain of mstsxfx@gmail.com designates 209.85.208.50 as permitted sender) smtp.mailfrom=mstsxfx@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688471570; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references; bh=oYDhsOoXPQYjy5XhjbvyX1TnwFmmtJuxdOzopLkYGJM=; b=DyIJxOt8pBXqQkJ/odhF0wGe/qotHBSdr6ASVqvbM81qDIiGk9i0q+KBQPohp2gIZAW7VU 2NLuA2xpjKDdyc5HdhM/KzbG7DgN+v6fBtY1gSU5DQ+dUAPEwvaNoYVDEtx+04u2yv+xl/ XW0JkKwPzrX6BEoAIAOZz2I/B8HkdB0= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=none); spf=pass (imf18.hostedemail.com: domain of mstsxfx@gmail.com designates 209.85.208.50 as permitted sender) smtp.mailfrom=mstsxfx@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688471570; a=rsa-sha256; cv=none; b=uj0Q+inWMv7WhJLwG5Fc19gAmpaGOG6nLzaswaMdOXAx3E7yDSFWrdCLT+Mqrsj02aaFPZ BZiqhavsLeiVGgg8gw7m4Qo7Pi9cZfXYXg686v3DvPYSMWcWwFuA7phXuSnRR5b6G2Rqnu b/spdMlkhhcJP1uCHqxyjnRakF0f1R8= Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-51d9850ef09so6553133a12.0 for ; Tue, 04 Jul 2023 04:52:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688471569; x=1691063569; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=oYDhsOoXPQYjy5XhjbvyX1TnwFmmtJuxdOzopLkYGJM=; b=eT2UCntoRlQaZKVXitj02ZZB90mWzkN0eSaW5U10anC9rQ2pZpyGXVTliIJHHLlV/V y5RbntZxwpWwzT1+DdlGDCLwBx5QgD7IiqBQbojxWgDTIwKw+p60IIS3VO0z7MBE4Ix2 QcJI0K3lX2rqgC9N3tjL4iwUsxJxEEtemuo398pNqRtQGXOSa44IpcLquPa4kcxeg2hn eqgMMZ2YU4ZFN7LbrP7nYRAKLKuCGw3uepctiPYe8yZmh1JMjvEK19C8g/fe2YTVUeiD pkaGKRwTGD/ihyPRll9riBMSzlea0/3x1/tVXpLpi0m47AFupAHhLxRfKfWvcldjNrRX ZwKw== X-Gm-Message-State: ABy/qLb04s2rxw51bajP05FVZ1kgW3whASzvJj7EGHT6dC7TUh0nUpON Tgi9gwcmviLdHvY0Q6s2c9I= X-Google-Smtp-Source: APBJJlE4xfW1I7ZC+a0MTapPVi4QxhEQeJ2tBzgOFBnE4e3cLgeciXm4PjSKKpvBl0HaxBjTruCbCQ== X-Received: by 2002:a05:6402:217:b0:51d:7ed9:c65 with SMTP id t23-20020a056402021700b0051d7ed90c65mr9310343edv.21.1688471568893; Tue, 04 Jul 2023 04:52:48 -0700 (PDT) Received: from localhost.localdomain (85-160-20-240.reb.o2.cz. [85.160.20.240]) by smtp.gmail.com with ESMTPSA id l4-20020aa7c3c4000000b0051e069ebee3sm3578297edr.14.2023.07.04.04.52.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Jul 2023 04:52:48 -0700 (PDT) From: Michal Hocko To: Andrew Morton , Johannes Weiner , Shakeel Butt , Roman Gushchin Cc: Muchun Song , , Michal Hocko Subject: [PATCH] memcg: drop kmem.limit_in_bytes Date: Tue, 4 Jul 2023 13:52:40 +0200 Message-Id: <20230704115240.14672-1-mhocko@kernel.org> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 855FB1C001E X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: crb1xy4dujqcet58skikrjkam896rxn6 X-HE-Tag: 1688471570-189298 X-HE-Meta: U2FsdGVkX18TgzK/kzxyISwAaV8XbMwbnsNTtviTcDMkXoOR3Su93MBaRcJ3fHC5uBCzcI5om8EHfVqNKCPWeYsIPHoK5y+S4eSy2Gf1HzEdnniF6chZKDRxChVVXSeJIpIGudkpCDUDj1qpKfhxJp6L2rxq5r8EDgJ9fm76JaiDGZ9QZSBaQMM/cPCDfbRao+7yh3PXJTHwBLNvTvUXhHKz0Bt8Pkjb1rbh/zVmiN0UaipvLcqXU3s3395+PIzn7YAFf6GqPyEVS9N8+sZAkqtiz6C8sDXN0gT0bcfWbYUGOdJ3zSuJ4Fy7GFloomqM0Ry/eDHmBXBD/s3cSK6ojIrw9YNocHmt21RfU9BM3XbyCxCoqXC7/uMqKkKght2HiSD8+kEKzAfnpyLIm2JZGnYmQ+aaXLXUg/09CzPZRP4TflR7EzJ3l3AjEmbuUeU/wAZ6n7KIdkE9w6cG/pIdZv+nDyQmjPsGVuD3/f4Bnyi2ElF9XzSde0eft74x52lbSoXppsamQDJCKqAZASxmOVVg2e1Ane8zY7VxzLlMcIY2AYUirmVps+I0+ZwO6Ni46bSivCsais6F3zP/gYr8SJbykM9zeiJVYvcJLg7FzIHRPkVNnIq41bXZewrV2A6UNWTMirctQIgfUaY9k8weui1RT4Xjo180R5EsyBrFJu/7gpx/AfDGKAzdFtBGCFQpwHu4P41XKkyaq6ejOqvD5E+p5J0yCaVxutYugMwEQp5Af0qPKPmQJH1nBOhmqTJGXb0TI+p+gLSHE+ghmgCc8k18l6edQ34m+zpvw798oxdRVNqSDEgGAeNH5QS57r4M50JVeTbrCQFLRMh+9PBjBrlmqOzlyJ0EYdFXZSSW79Qzo7B97VF9ArfokpTvflW8AjrUzCIlODmj8HhMEMSfHGIuUbtiShCqpL181FsVFFwRL8e5e9oB1wnDUWTUulqRKNkcYbwQUxLhg0T4c7z drXKL5cH 11otp8lbRoK966P/xLOoVEhtp3ZhgqFnedxFt6O97Z1CbQsUV23Q7cQMxhvOJY0ZFFqnqzcnF/Wq++1KbemtspDMb9/+jBVEatndHuOILINUHdr7l9HcAIJuHnBtjrgk4yTSoY0X73HGm0IAE25ylPW1YUGquRelO2d16TFgFewyy+xe1n+zM6kL7XooPpS6j3jzW2w6vUbzFkZmyHUTykOKgLYsxjk7fXMRU0Iq1vcnTMFsAU5+T8SRlCbm+PiSGDOMjIegcVW8C5zyHzS6xQHtiA7NuarJQvG/JBgCrmvqZ2GVJCHh6CGj+/OVjP2TL6i5WJN62E+h+blSdvBaBaupIFFDFuZj84h3bcWjt6OoGzR1zWtZ38NB81cGt/687DwHgd9+cMWj7twSohNjfKEuJeSe0B3g+9FuwoYIM047Q2we4pqQxt9CBBXqBRpv/UuciKQTDcnltlOaHN8P/lvEm8XZyPjUQJ54AJL7M/Urm8PTQbgLWtnJ0QhOxhd+rnYBG5neKVcclSrszDToT5V4LF8Row/UtXaUNqwhOjOXrZacJCCuPqDw2mSGOlVnFyfKkiuasNAjLwkI= 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: From: Michal Hocko kmem.limit_in_bytes (v1 way to limit kernel memory usage) has been deprecated since 58056f77502f ("memcg, kmem: further deprecate kmem.limit_in_bytes") merged in 5.16. We haven't heard about any serious users since then but it seems that the mere presence of the file is causing more harm thatn good. We (SUSE) have had several bug reports from customers where Docker based containers started to fail because a write to kmem.limit_in_bytes has failed. This was unexpected because runc code only expects ENOENT (kmem disabled) or EBUSY (tasks already running within cgroup). So a new error code was unexpected and the whole container startup failed. This has been later addressed by https://github.com/opencontainers/runc/commit/52390d68040637dfc77f9fda6bbe70952423d380 so current Docker runtimes do not suffer from the problem anymore. There are still older version of Docker in use and likely hard to get rid of completely. Address this by wiping out the file completely and effectively get back to pre 4.5 era and CONFIG_MEMCG_KMEM=n configuration. I would recommend backporting to stable trees which have picked up 58056f77502f ("memcg, kmem: further deprecate kmem.limit_in_bytes"). Cc: stable Signed-off-by: Michal Hocko --- Documentation/admin-guide/cgroup-v1/memory.rst | 2 -- mm/memcontrol.c | 13 ------------- 2 files changed, 15 deletions(-) diff --git a/Documentation/admin-guide/cgroup-v1/memory.rst b/Documentation/admin-guide/cgroup-v1/memory.rst index 47d1d7d932a8..b92c71f39172 100644 --- a/Documentation/admin-guide/cgroup-v1/memory.rst +++ b/Documentation/admin-guide/cgroup-v1/memory.rst @@ -92,8 +92,6 @@ Brief summary of control files. memory.oom_control set/show oom controls. memory.numa_stat show the number of memory usage per numa node - memory.kmem.limit_in_bytes This knob is deprecated and writing to - it will return -ENOTSUPP. memory.kmem.usage_in_bytes show current kernel memory allocation memory.kmem.failcnt show the number of kernel memory usage hits limits diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 4b27e245a055..a0d3ed8d02e2 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -3750,9 +3750,6 @@ static u64 mem_cgroup_read_u64(struct cgroup_subsys_state *css, case _MEMSWAP: counter = &memcg->memsw; break; - case _KMEM: - counter = &memcg->kmem; - break; case _TCP: counter = &memcg->tcpmem; break; @@ -3913,10 +3910,6 @@ static ssize_t mem_cgroup_write(struct kernfs_open_file *of, case _MEMSWAP: ret = mem_cgroup_resize_max(memcg, nr_pages, true); break; - case _KMEM: - /* kmem.limit_in_bytes is deprecated. */ - ret = -EOPNOTSUPP; - break; case _TCP: ret = memcg_update_tcp_max(memcg, nr_pages); break; @@ -5132,12 +5125,6 @@ static struct cftype mem_cgroup_legacy_files[] = { .seq_show = memcg_numa_stat_show, }, #endif - { - .name = "kmem.limit_in_bytes", - .private = MEMFILE_PRIVATE(_KMEM, RES_LIMIT), - .write = mem_cgroup_write, - .read_u64 = mem_cgroup_read_u64, - }, { .name = "kmem.usage_in_bytes", .private = MEMFILE_PRIVATE(_KMEM, RES_USAGE), -- 2.30.2