From patchwork Wed Mar 19 06:41:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: jingxiang zeng X-Patchwork-Id: 14022135 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 5849EC35FF1 for ; Wed, 19 Mar 2025 06:42:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5C58D280004; Wed, 19 Mar 2025 02:42:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 573F9280001; Wed, 19 Mar 2025 02:42:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3EFF2280004; Wed, 19 Mar 2025 02:42:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 1FF8B280001 for ; Wed, 19 Mar 2025 02:42:17 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 1AF8F5901E for ; Wed, 19 Mar 2025 06:42:18 +0000 (UTC) X-FDA: 83237356356.25.53374DB Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by imf06.hostedemail.com (Postfix) with ESMTP id 36AD018000D for ; Wed, 19 Mar 2025 06:42:15 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Rn6ucZVE; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of jingxiangzeng.cas@gmail.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=jingxiangzeng.cas@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742366536; a=rsa-sha256; cv=none; b=WKMXpEnfSd9M32bUSL8whlI+T0b1vV7nS3B7pBSAMs1YlFlcrXHYS7brya2+Qf3wF+WX4c 4JmQtUHMUt1pqCkzf0Ts3Fw0NlGissZXcyNmZRfj4W8gg7j2nlnSeb1UryCKQ3+YZtBOjq TpHlX+un1PdA7OjnNf65iD7hDtdkWqU= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Rn6ucZVE; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of jingxiangzeng.cas@gmail.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=jingxiangzeng.cas@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742366536; h=from:from:sender:reply-to: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:in-reply-to:references:references:dkim-signature; bh=pXItn2D3Vis84qRdx9jbeX/+b7biQMSa8SO4XBFLs9U=; b=H0Ax3H9qtlRMNgR28D9laqK/dxguHIeilpM9Oy8HN2vvWKrSlNABnsDAiUzltNLK9O/6vs othL4jsVcpxaQfUYOx1DUYuTKa9QoRBHh35XaBLqJlcsOeT0sFEMe18Ks3Vg7Sb58O8qG5 XpQDDIg98MMGUEwCbTO8NeC4oqsHJj4= Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2254e0b4b79so24655995ad.2 for ; Tue, 18 Mar 2025 23:42:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742366535; x=1742971335; darn=kvack.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=pXItn2D3Vis84qRdx9jbeX/+b7biQMSa8SO4XBFLs9U=; b=Rn6ucZVE3sls5ZV+q+s791E9N9lOMrP6fnkdBOKqTPqgU/fKQm6i1urfq0YsRjPhX+ 9BzY6WmFql6usf6FSsQFpqyTqC0Xc3AQvOCPwBQPSfu6cF36nWY45J4zthN50rZjYfod 00mckbowKtMuTZX+hUD32fjyNtwWtmw2jA90tisfkzHwBixiEzT02HAKmPlgEKwLGi7Q TJ5MrtFmnmUdhpBqOBFXU2UtLCfefNo3lMR+02LiMMGrkpH/i62P+LDRnLTbRkbtj6Nj arOFSSaZHe+HkJCKSWIfXjRhYn4duAIko3IpLsZ6GK2cMFwg6f4wLIpeJIKJayvfXOlD Rptg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742366535; x=1742971335; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=pXItn2D3Vis84qRdx9jbeX/+b7biQMSa8SO4XBFLs9U=; b=Oau9xb1/FbqTcd0EHIL+JR8h5uBaI+M4syzylUOP5ZeRYd0MwVC0bq/GXJoe7N2CY4 qa9YwHalBpXYMIQLji9YSk2PHQytlddMqWWB2x95vz+76IeuFTrSGVaIm9IPYyuk3gfo J/UsQcPRdyNoS0GrFYlG4mD8wCmbteheDv/OCexP6q34UCtAvC3UPeoaeIfnTz2wDZfe BwBFH9w4YSk3L+Oi7Jk4bKP6TIRhMjKwzHLi1r5azAkFIP6Fvjzz8tBwl9xxgQOZdTZe u+DKt3KBxH2m081lWLuZG1QAegB+ug60p2eFnf9DOWgo/MZvYh40SaPrtUhyu4QQd3u0 w9YQ== X-Gm-Message-State: AOJu0YwCaktc7YYzhUpWK5jLaS8eWK/RoX1mPYQRlNjgZVro+WfJ1W1E XmY/Dbj4LWgsOZtu2bsmp+IyzrSCl25ZvOG5MkzxjO2+AOdCXGy9 X-Gm-Gg: ASbGncsSBc0ea/OsZZCooWiSv3wMvCNC2hk0RTJH44RfUnWffkqmh7oUkjBRwgFZk0W HmCvwyD+36t6NCRuKbNXAh//0h5vDP7el3d3dJ1AJxOkR7wZ/DXapSoQ7GAjOZGYZ0GJ7nZRSnh sEoYqM+EVGdb+SgpxYnBNn4PyLDOvMXGYt3MO6S/ywoQRWQsAdd4rtej10Gll6a8HBDqxSglfHy AJCncEcbyEDKphJHqWnDNs1bF37vB0sigHgWnfg0RlqLSs5CyHtb9RhwcUnvuNyUd6O1cRAQ8A0 FMj8B/IJr5ZU5ZP7gCDYDvAQp29/+/4eMQUwMgNpg51ra+YXVpvR34H9wh0mrSM2GNaJHnBO0hA pM6kaDcFcNtRN3g== X-Google-Smtp-Source: AGHT+IHAiybYnuUAbS1337n8MIKxXlM5d3eEixwdqICuE8kaYDo9G1K0ymmFrvbR4m08KEEHu5+UJA== X-Received: by 2002:a17:902:ce0f:b0:224:584:6f05 with SMTP id d9443c01a7336-22649c89560mr28245025ad.41.1742366535093; Tue, 18 Mar 2025 23:42:15 -0700 (PDT) Received: from localhost.localdomain ([14.116.239.35]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-225c68a4876sm106191835ad.70.2025.03.18.23.42.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 23:42:14 -0700 (PDT) From: Jingxiang Zeng To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, kasong@tencent.com, Zeng Jingxiang Subject: [RFC 1/5] Kconfig: add SWAP_CHARGE_V1_MODE config Date: Wed, 19 Mar 2025 14:41:44 +0800 Message-ID: <20250319064148.774406-2-jingxiangzeng.cas@gmail.com> X-Mailer: git-send-email 2.41.1 In-Reply-To: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> References: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> Reply-To: Jingxiang Zeng MIME-Version: 1.0 X-Stat-Signature: dpu941y8m6spwiximy5zp9sw7gnf5wk8 X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 36AD018000D X-Rspam-User: X-HE-Tag: 1742366535-461066 X-HE-Meta: U2FsdGVkX19a0ch7dGxvE+yCAP3W3cunoNrDXpKbOF6Uj+t/7OOqRKuOZS2IzDvzc4fikhYa0nSc1uT/Wc0sV0TgjJzAP3Rw53tQ5UJOSCywf2OEsuHwKnQ9IW2TSlIdoEnJwWkZONzduBV2cc1RJYCYcAyRILAt6JcXgrY2HW17V9REy+2bsw6dHkl2icdu08+M6kkHQtLHPcscVdImEuUHNnIoHURbeATWXlPyGOZRs+zAB9LSCLZo5CVUaE/KzNwwt2VNbqwgOY2u8lHqwSZxattiqoUXGD8k+SHatWzZtvhhsaF00oYDmCfmYZMA9/9yO9QYseoBtO/77spEWXl4WdJEr7EujAHetXZ2ZMlfUEulcUTqnjqRPDKdBsRqIGJv6clKvAo43IO0ycyKuH5BqrZIJY7sDjBsaaAHSjdsKTVN0wydVYIvzu1MXE0f944+XaN816wDfXZLdKe/fbtVtIjFfrwmCb57R+BZeEnSKVCH3x3kev00jviZ6priGUQTuyMVDh0w1r6/7JRwkgvSCba8KQ3+6ZD+2oPGc5FRRob/sM1DqY82PiD17J/th6LIqsfpjbnAyGsyve7KHGhYekt1/OE7bCzq+B7ltBvr2FfxPFrGTnrPvocBt9mtzAp/igYu/JS6bzAhJxFe/v0gijiQUF7nt7UIFkSFYs57aPWbQzec5Z7X24namD/3fpECn9WASAebpfLVkr6zLtGkWgKoOUL7rD7WQ/x0pp5vKuLizC+1YIXSkL54zKj6WJtuEY8RcVbM3GygwsmN/8sESFteoFpirsbjn7n7WRVMl8ec1YhyV7XUk9mfcB+y4IU9O8r8IRCPFnnTgX9JIFnB7yiYGHXABK7s4nEcajlqXkkjg/AGVcG0m0EoHDKyr3Ixh3nZEWIHWYfhkUVYLwXunexUfBxZNiBRf5da2NP1o3SI+B6rmJTrBIh+o0cKK79qapsd+1vgxpBAocx Crnurpu7 l9moQMZZlXI/Azr6N3In1XK6+6Unr3blU3lMF0RdGtTCbUdD3KUDEUOZwwvzR0RFH3iAm1Isf0EsgADSKjcsRv29Zf6/Ix5jLDcz44LzGIqaOX9lJ286r2RG8lr4XoLCrJCeseMJzKsutcGgcYhO+CSyZ4hqfOdK74wP80wyxZFTScjFoXFMq1l2OIaWbhh9R9wLi7vc7jfl+3jMxm1ZJSN/Hcm3TcM/YMMhasemIIspSQBrr0YgeaQNj4eGmuPGN/WJvwo2FAuz+77rRnxaIEDuMw9Jh7/uwXhwnsojA9BHtAEwCoq/wbPnY6nsKr3GWHGdnG76ieifSg8Eww6bOL/H+PyrhuIeuwgtLS/fvowLbS8612RX+VDyPDuhkA0tc3Rk5w03h19FjddgbzRB/gYf8kRMhoovm83bNXwL2OAHB/dPXD3Yfr60uE26AfOPvfof/tUmooOHfucO22/hPVssHTkyWbqHzO0PGlQ4eoM1zBw4Vud/aJhumpVDE/LLFAe4sjfAJObCsQ7qALA1ksb5mCltkNaYZDxHqc2Mu+EB18jz66BQ/KDZ8K1C3bbvu1Wl7IMWDjfae6jp1b6pkCrFUgGF0z4NTtGTIG/7i6WsyvgJNWaGRmkyFLOYVnvRgZL12eib3iwu55UDkxD4JyWPIJg== 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: From: Zeng Jingxiang Added SWAP_CHARGE_V1_MODE config, which is disabled by default. When enabled in cgroupv2 mode, the memory accounting method of swap will be restored to cgroupv1 mode. Signed-off-by: Zeng Jingxiang --- include/linux/memcontrol.h | 6 ++++++ init/Kconfig | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 53364526d877..dcb087ee6e8d 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -62,6 +62,12 @@ struct mem_cgroup_reclaim_cookie { #ifdef CONFIG_MEMCG +/* Whether enable memory+swap account in cgroupv2 */ +static inline bool do_memsw_account_on_dfl(void) +{ + return IS_ENABLED(CONFIG_MEMSW_ACCOUNT_ON_DFL); +} + #define MEM_CGROUP_ID_SHIFT 16 struct mem_cgroup_id { diff --git a/init/Kconfig b/init/Kconfig index 7f67d8942a09..669e39214244 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1012,6 +1012,22 @@ config MEMCG_V1 Say N if unsure. +config MEMSW_ACCOUNT_ON_DFL + bool "Whether enable memory+swap account in cgroup v2" + depends on MEMCG && MEMCG_V1 + default n + help + Say Y here to enable memory+swap account in cgroup v2. Enabling this + option means that the semantics of memory.swap.max will align with + memory.memsw.limit_in_bytes, and memory.swap.current will align with + memory.memsw.usage_in_bytes. + This is particularly useful for workloads that require strict memory + and swap limits. + + If you are unsure whether to enable this option, it is recommended + to leave it disabled (N) unless you specifically need memory and swap + accounting features in your cgroup v2 setup. + config BLK_CGROUP bool "IO controller" depends on BLOCK From patchwork Wed Mar 19 06:41:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: jingxiang zeng X-Patchwork-Id: 14022136 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 1B08DC35FF1 for ; Wed, 19 Mar 2025 06:42:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 26C7D280005; Wed, 19 Mar 2025 02:42:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 21CF3280001; Wed, 19 Mar 2025 02:42:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E6E1280005; Wed, 19 Mar 2025 02:42:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id E326C280001 for ; Wed, 19 Mar 2025 02:42:27 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 106A4121977 for ; Wed, 19 Mar 2025 06:42:29 +0000 (UTC) X-FDA: 83237356818.23.A61B535 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf03.hostedemail.com (Postfix) with ESMTP id 2ED8920005 for ; Wed, 19 Mar 2025 06:42:26 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=E7d1PVnF; spf=pass (imf03.hostedemail.com: domain of jingxiangzeng.cas@gmail.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=jingxiangzeng.cas@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742366547; h=from:from:sender:reply-to: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:in-reply-to:references:references:dkim-signature; bh=sp0DFTtVb9BoLhEjuOHuZHKpQHrM7JXx2GisdIMoCLI=; b=mC5lxzp2yKbnHLfEMaX1EaMNBr5V3eKcPRcVXVDjcu+a5sUecHZ7ugwkDwnt7ZEFwSvYIw /+Vlntby64HEX2W0gH2xmZLs9ucBIBSPgaiQ8m9+v28C/pOC8OwRyGZd6hs99Sfrwx4YId pfz72cAS/lg7Uy4J0TcEfYEGL98yblY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742366547; a=rsa-sha256; cv=none; b=jCVCjhidy0G6a3Lrd+tSZdSR9OSfXoBO+L6lGCYsM/4aWhzL3XQF1yjNNZau76e4sHcBG5 OO2CLHK1ySJgH70pMq1KsSgXBjtY7gflxTUFyO2cGyvrSUjKOBef15AzxzwiNmeZfh7Pj8 J07HDKHvXtFjHL4FYPir1P7EWdqIiIc= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=E7d1PVnF; spf=pass (imf03.hostedemail.com: domain of jingxiangzeng.cas@gmail.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=jingxiangzeng.cas@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-22438c356c8so112168855ad.1 for ; Tue, 18 Mar 2025 23:42:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742366546; x=1742971346; darn=kvack.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=sp0DFTtVb9BoLhEjuOHuZHKpQHrM7JXx2GisdIMoCLI=; b=E7d1PVnFR+k+Qgj7xpU2WUfuZrapokIy+cTXozX1wQwAQpDL0R9KmC0ArN2ig0u8ap hVdGl7wHJr4He9mA+p4D/U9wNu4YnisWdCfnE8R3Wk2HjYU7ATWMcjuiKShW1FZb8do+ rySVMnspprj+pKWCeeOrGs3sCZo9je8TwN5I9sLk67uXsTSFd3x31eGG9hnDXhJwCwMY 6Te6yHTNG8hX7/4WwE/QAfnuQFkfLywZCScO72dXEItJwVmyyzX6qcHYVX6N1SmDJ0xq 4w49EOP5wwybDrmVY/v21pJZPGwsBJk/Va3yzhWRg9SHfuCm4HeoBu0FN2RwD16nhxQ5 d2eQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742366546; x=1742971346; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=sp0DFTtVb9BoLhEjuOHuZHKpQHrM7JXx2GisdIMoCLI=; b=HCbgXBpUwmS5JAuG6VdcUqNkIpDge+0TAiQNRQOKXSsnDZknKwpAVLIcx4L+vhiQEo dUDvpf2JjKSww2aBUCUxlPSBpsuop+wAahfqTP/Ihtulf/DhU5TPp62zzABTrpDoCJCP HEZMxIfgnkbqfb4eKB0XJH0Qs7VFHhj6Rne1bDbWqa5KX4EY8RnxBC7XisDiy5aS+lvp bfT6IcjmRUajPlhIecsEy7uOYPjLAVW2tAmKwX4phQq7+GGfeZATvVcZWRK7amdi90nt ZhpU4eVI82cualyPtxOvYdDN7aWyO143V48y9tL93+jV2LhBlokrEhyVKRhqdc+TOgO7 XejA== X-Gm-Message-State: AOJu0Yw1JozReknZExEs0fP2gc0UtjgiPzhTGutCOPUodlzOfqh8On0Y yRVjafMRPHHvWw25A/JtdgmFaivlK08gBxCst+IJGEV7kdnmpFVZ X-Gm-Gg: ASbGncsweyoH+aMZqoByJ4+zngkrp0qWYZm8qRW0EjcZEEvppJMb+8njAjTMqjRAXLk 0ghIjARRgMvs+5gZ/wr2fvW48K5AcNJZYl2n8d0AhNb5iDEhcOZ5e9d7KVT4Pnil96ijhs0ykIr DyE9n1peuekQVc51Cr18IMdw8ikL7Aw3dao2muklmMngB+m8Tk4zJmmxFz0NolWhgliPGR2uuNR zJyUWEoIy3A5quALmk4rP1myrBSGktrvD7RW1CTrbxTdlxtUKkJoBQdm40vdLYTWPjk4Lsf09bA S4qu0PXD/zuGpIoZLVHVj6xs/YYbPrnbutdwHfWIFtOLn3WexCxF0GXK/hbj9gNTXcEVnqQtzI4 r5bl5e7U1jm2Z7A== X-Google-Smtp-Source: AGHT+IHEPdhlKFwFwnOTSvPf4IDO0wzZjBYO2qh3ge8Q7B0xYnKSmm8x+kb9JdKPYwCJ9YhdNLB2kg== X-Received: by 2002:a17:902:e5c9:b0:215:b9a6:5cb9 with SMTP id d9443c01a7336-2264982afffmr25696235ad.5.1742366546036; Tue, 18 Mar 2025 23:42:26 -0700 (PDT) Received: from localhost.localdomain ([14.116.239.35]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-225c68a4876sm106191835ad.70.2025.03.18.23.42.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 23:42:25 -0700 (PDT) From: Jingxiang Zeng To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, kasong@tencent.com, Zeng Jingxiang Subject: [RFC 2/5] memcontrol: add boot option to enable memsw account on dfl Date: Wed, 19 Mar 2025 14:41:45 +0800 Message-ID: <20250319064148.774406-3-jingxiangzeng.cas@gmail.com> X-Mailer: git-send-email 2.41.1 In-Reply-To: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> References: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> Reply-To: Jingxiang Zeng MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 2ED8920005 X-Stat-Signature: mwjk91myrpiitdfsguyn868kf9rp6h83 X-HE-Tag: 1742366546-834399 X-HE-Meta: U2FsdGVkX18jr8loCdrPKggRKfGz+fa5bxS0Nj9bOa2LnUus5CCS74dR7rDkqGbJd0Ezs1k9ZwhrgtFBAomupwddJlYC7H1qx3KJGVAJp5ZjxlVmGuJxlE6oCCEgUzJXD+V/+6xoiE6bjAsG3S2EDBCGfmQyg+CbA2rhi5Fg/BuyBqu+cbUqM0RIv/y4HzAixEKqJ2518cLRTzz9G7lwJaZQ7+r8BOqNVWk/msRRFQcrTai5NuWD/V6aFNZhzMbE1d2eIhTe9+UkYRxlwQBB0uUMjXfbYUZHVyRm71za4FLdYfcLx4otkbP/mGtZXJ3VQ/TTqHZpbt0Gi2kGrpNlBpcFp3wPrP9m8HWQbnFysWhAcFcpkKNkjD9KkQSyxkWla4eJmTn3pfiNbu07L+xxPAkjWiINvnhZKvYwuNlNaQNOnHhWMJQQtynWen54nLeCUhpQTNW1xifVk7Z4u/+tcppiUgwRcx4ODFxMI9Q+soTnY4CjazXvjiVImg7pXOV+La0ANTCOyRU36L1+fwKF/Bi8V5TIhrJIDTjrP8ztguNw1eyCXKOfp0zg1nHOposELifXJlPaqPp2NxmppWPEFo//iAliiCYuuZHqIfJ96lUWdPYyZXPCDSqSva2MsXo5Lwu0J06Lj9nxIIDipArGlr4nkzVWowJ+k1YpZ8RGu62F3YjfbN7l/EajsB7XeRoBFTHRFaDV6c1vn/1YUg9Pxlv9gQy4l9dTharXYWxGvL/gyXt/zuduC7wKJMvanQU9KRGVvDGZUyG1J9SX3mrmJQS3ZUPN2qYl/zPL5aKTooLJkYR2r/dBXcT2hpIyT4Wv9ysuR4otx6FBk4tNMKv/TsgUmT2tQBGlhy3LGjgQacvgDHVFGMtO93wRQesd8/fS7qsRs75XXlf5PWYTnyvCWAPf789cRCjYZ6qt4NpT0lBIzrUeJS3KMScDXqyrcnYaAvZFmL8TCVpU8iD9ZN5 sp/RzHKR oLYPUoVDL7OaZUnHtYERxJrhf6wtQCBvINrxfDHt/QqbaykWFUFmM3B4u6zyw/ZOvYGdmUAYhvico0/Jm69EuMqWqy5zARs4dy5AwxALScqu6VCvsuYfeOo3/Co2ktm1IgsRk7GP/mzf2A2jXj4SBCv4bzUV1a6/iZeH4cxRnWhIidOUdBvxBZH2RxcfkCpjpIxqKvTue32Ad/6UqVNMyYQM95LbBVQe99vomoNh+2TKwPbJ5kb6iIcUgAfBqpdB0IRy7OQwVKfsLT/gKNjJiH6iQZpC3+/FWPepjvV5lzK/9eRIPov25pxJjl+hF+yUu4uytl6LAr9+5CGgv77EA4Bxjfw8ugrJwES1AVbjOg4ok+9Sdkk7zhKdFsI0mtr+TreHhUmWqmPSBaCT65GWtZutMgx41Lop4IhBlBiHvaGWEtN/fzEae3sxpN6zfASkO4qLt1dcN3f8eKcBoudJYiyQhK9Fh7wOVSvtcrC3MuLZfK6FYOVFIy7ao5CwIZG3004xT8QwUVR0uYJoUD//DdW6tmXUaOsawir+yTfbdclMo0TWDI8oSB5zQzWfur5gQ92EC0I10P+uG/N71aplgwTeDmpbcmlejh6hA 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: From: Zeng Jingxiang Added cgroup.memsw_account_on_dfl startup parameter, which is off by default. When enabled in cgroupv2 mode, the memory accounting mode of swap will be reverted to cgroupv1 mode. Signed-off-by: Zeng Jingxiang --- include/linux/memcontrol.h | 4 +++- mm/memcontrol.c | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) + \ No newline at end of file diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index dcb087ee6e8d..96f2fad1c351 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -62,10 +62,12 @@ struct mem_cgroup_reclaim_cookie { #ifdef CONFIG_MEMCG +DECLARE_STATIC_KEY_FALSE(memsw_account_on_dfl); /* Whether enable memory+swap account in cgroupv2 */ static inline bool do_memsw_account_on_dfl(void) { - return IS_ENABLED(CONFIG_MEMSW_ACCOUNT_ON_DFL); + return IS_ENABLED(CONFIG_MEMSW_ACCOUNT_ON_DFL) + || static_branch_unlikely(&memsw_account_on_dfl); } #define MEM_CGROUP_ID_SHIFT 16 diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 768d6b15dbfa..c1171fb2bfd6 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5478,3 +5478,14 @@ static int __init mem_cgroup_swap_init(void) subsys_initcall(mem_cgroup_swap_init); #endif /* CONFIG_SWAP */ + +DEFINE_STATIC_KEY_FALSE(memsw_account_on_dfl); +static int __init memsw_account_on_dfl_setup(char *s) +{ + if (!strcmp(s, "1")) + static_branch_enable(&memsw_account_on_dfl); + else if (!strcmp(s, "0")) + static_branch_disable(&memsw_account_on_dfl); + return 1; +} +__setup("cgroup.memsw_account_on_dfl=", memsw_account_on_dfl_setup); From patchwork Wed Mar 19 06:41:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: jingxiang zeng X-Patchwork-Id: 14022137 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 18B28C35FFA for ; Wed, 19 Mar 2025 06:42:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 21546280006; Wed, 19 Mar 2025 02:42:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C68A280001; Wed, 19 Mar 2025 02:42:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0674A280006; Wed, 19 Mar 2025 02:42:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id DB9CB280001 for ; Wed, 19 Mar 2025 02:42:34 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 187F51219FB for ; Wed, 19 Mar 2025 06:42:36 +0000 (UTC) X-FDA: 83237357112.11.5BA1243 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by imf13.hostedemail.com (Postfix) with ESMTP id 32E7B20009 for ; Wed, 19 Mar 2025 06:42:33 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="ORex/N5D"; spf=pass (imf13.hostedemail.com: domain of jingxiangzeng.cas@gmail.com designates 209.85.214.179 as permitted sender) smtp.mailfrom=jingxiangzeng.cas@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742366553; h=from:from:sender:reply-to: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:in-reply-to:references:references:dkim-signature; bh=eDGgoAuFU1j/4cPuHxdFsXeRUQzRKuxaJDEI2tA88sE=; b=IwKxQgp0m/b/LO2Acj7y5TQ3yRHSjnUKnxjOztIkmYYqdq+71xQvvkVNOQGHzd7M+mejNb HMppAUVvrWcYDyhI27iqvdj3mjMzHS+E1i/Rt/J+8x+49fuqtSbFC1H4c5JRrDcmiPbyLY AnW5M8Cx/W2xQCmvecGPiBelJHxzKl0= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="ORex/N5D"; spf=pass (imf13.hostedemail.com: domain of jingxiangzeng.cas@gmail.com designates 209.85.214.179 as permitted sender) smtp.mailfrom=jingxiangzeng.cas@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742366553; a=rsa-sha256; cv=none; b=ij9WBaBcnaCE5CXuIUnAah5smk2sLPCtSX5W7H9YupVBNoQcQfUrt1qwKEa236RsRU3HFO mwRhTrcQmAH1QiEOhqsImD5r42DuQrQiGyGTWehupaQFCxQJaJBtHKFtBMaMu6u01hbHHE u2cFdChHRjxk4161pn9Ke6ehcvB5VxM= Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-22548a28d0cso24194365ad.3 for ; Tue, 18 Mar 2025 23:42:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742366552; x=1742971352; darn=kvack.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=eDGgoAuFU1j/4cPuHxdFsXeRUQzRKuxaJDEI2tA88sE=; b=ORex/N5DP6hoSvXJ41pyf6Ql/kql3Gi4TQNWjd4/uFSMB/nTNbZBI4aKx9qSYz31E/ 4/033v6xJyKZIWyrztRVrvaGlKwYVmgOGPPYdUH4BadSZeYfgHhueoybQpQLUnxlF1mQ 3tns4MjWLbJA33iPfT72vFxC8Eb9tWgzVZu+ItL9sXeqF8M6yOfPDUpMYtaMNIE5zwhO BwENWdTk0abFlJpjdDSEdNRhsiJljhH6IuzvNP85ZSZLfb2fxSTF+t6IJ0Ed4OSYEllW avR2OASQcT4k3rwhrf/7ET2AYkl5QgmFzPL9BoICwBGmE5bYv+kQwGVlQe7LskZUkD4U zaew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742366552; x=1742971352; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=eDGgoAuFU1j/4cPuHxdFsXeRUQzRKuxaJDEI2tA88sE=; b=Y3eVDm/P4/zATdzvsKSVVo2IkBrrXDmm1rI+pUWRbEd5k62rq2C+R+8Y7XXMnOxvag 54CzG4C12mmipFNPKOZlWFHLv7CUC3QiAr6u7HSiIxnFwHa9ONaN6OqBIYujA4rU6UA+ i0xPoA/bSrG9ro93mg4v+0PIml+tb015bV5u4tfdTiHz1KdjXdWs6MIkV5Im+TmDkYYm RLO7FNaMcszrF1PliN7KKxQKQHP7pAxAgr9FHaWOq87AUjy1tJln+mb5FaH1OwB5YWYN 2HqnCaQEQoy4TeWtOmYvx1Z9bef1maYWcR+PZM/ww6PgQ8VbDVO8mUYrJ6rdsAHbDfmM n3/w== X-Gm-Message-State: AOJu0YyqSIH63g8ITWbWGGg9rQrlp6HEUwoUggIDc0FIToAo5eYrRAtL 9FOKHjiC4R3NE1rgGpYNoodLQ5zpEOSDarlPU8Wb7l+WeRUMUD5Y X-Gm-Gg: ASbGncsH2WFb8FONNSBTT6qPdvS+kepbrK8gHUlaBCTgfDN6qs0ndgSOJkigM1cQRLB PY3HJ1H+teq/JQnmirv656gzPbMbsgQwuQSfEwVLMlRnUMHCXeDlaVi9OKPtl2OQ/cmQVzgIqX5 7O4kujUnQSoIRAZbJISyZ7cFhhZ81jGyGOENOBZheHZqLuCUGDDycW23HZFLS+rdXB0i85+gdQ1 LXOPAq2+GvDny+hDZtoQiwZ7PTBSSHunvZMbEDzclLGvEiOhsOZvrcPyrgI0P8r5qYUAaxsNzXC 0EdeQ5wsPeOBE+IL6PA7OZm0TGFU8nAg2/3EwrfeLk5xiefRRlVtCpJUtaLYhKXqF1aAD0f5fcx hVBkoeeFBnmlc8Q== X-Google-Smtp-Source: AGHT+IFAyKOiSRtBqjl5fZO4kWvi3a/4Npr3QIWJv0iu9jfu+/+dq5oOshJJhEmDYcMoWP8ZUFn2hg== X-Received: by 2002:a17:902:f688:b0:220:e9ef:ec98 with SMTP id d9443c01a7336-22649935c2cmr20608265ad.19.1742366552101; Tue, 18 Mar 2025 23:42:32 -0700 (PDT) Received: from localhost.localdomain ([14.116.239.35]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-225c68a4876sm106191835ad.70.2025.03.18.23.42.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 23:42:31 -0700 (PDT) From: Jingxiang Zeng To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, kasong@tencent.com, Zeng Jingxiang Subject: [RFC 3/5] mm/memcontrol: do not scan anon pages if memsw limit is hit Date: Wed, 19 Mar 2025 14:41:46 +0800 Message-ID: <20250319064148.774406-4-jingxiangzeng.cas@gmail.com> X-Mailer: git-send-email 2.41.1 In-Reply-To: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> References: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> Reply-To: Jingxiang Zeng MIME-Version: 1.0 X-Stat-Signature: jm5afuuy3yxscgp9ycg4a5ibkargo3ui X-Rspamd-Queue-Id: 32E7B20009 X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1742366553-123755 X-HE-Meta: U2FsdGVkX184FnNhFEWt1820B/2dNndkDe8Az9okN69L3hxmzAy0RUW/t/OmJp6+MYOR8/OBhZzGu0R+brI4p/sw45f7EmqcTQXGZBlqlffdF4ExyZRoOvbIOvYTq21Jyqs+nYb8j06SGMt42QJAAzZQirjAzI3dLSfKAtpWFPsaT7quPWwKnSYflFqEPRU9haaUWUFNRtwyyTzgwfiU6pbuE6FuLH6jrItlRho6rOqE/5eU3sW+INWdRdIlpvahPsdjwyduDQ9yKO40goV3DvQ0HLHghd8qRXBB6Mq/iNxITS8vwykeIgEBhIu1GjgDATC00IeSLxNo6GenVGwYMqtNhR/PR8lzpfI5YEiVN1r0qD3Da/Q5t5LpScmLOvHGBgFeCLQ4a5nCsiUDWZ8N8heZiOf3qPKAs4V2BZhjcQxQ08vB2rRaqmdMqwPAuYaEmyiULoBQ53kOrOYchzu5l5P/2gt81fz4k5g+nm6JfK1GvBtpNr3Fip7U0ZqXEsF/p2GG75S5oQBA6+/ckB/AUVE7xAk5qH+452muv/KxAPZ48Wl8miLJN9GnaVNCfGjQUuA5dTkLFmkbBdvYCGcPY3KSGJQ1FCmxJKngVKM8hQngAcsEG9VMfA1dn5NrQA20TioUn83x6UcdBOHmEd4AgnQN+xYR8AN231uSUnE8TrRYbkf7/U1zkTwHF3tsgFeJNOjxlMj+N5Tf0SvpJTUR23KxSteZlOyQLT0MhbM/D9eeRsRYTXT4pAR3CmGNVcZd89tshT2sujrth8aNjGghkc/fkTMrkZNnEkljJcuPt42f99jM4ITusz4c9rD5ZUdpE3E7IqmAHEaXhQxBD4b+0vgngGWoj9tqX2YM4hVecY3rOQqA/tzwJBdpkdSlysL3jrCrqrcIiMzpwaw7ylHL3tk5S0zzWU812bXE8NULOAgn0k6lv2Z2v7zFpg7b3C3qLE8/BxglPXoBAelmrdZ hTAhivSy 1c35YhQO4dFThX81gEi4xaiRsEQy8po6NXp4dJVzrrFUmPycWwgPyFvJeIaJcM6FSUwJSqrDEV81vKu9oqeXbB4mZDsUcpTTZsy6kvg6iNaS9hRS2iPFpd2ZMymLvMx50+PWlVXox4nwjETL7mNS/tmVRRQFglHPNquXWjkexLs55I0TLKUdxPcjhqJjlb45OLWSs21+sE7af3GmjRKJ+oe7eU6IT8v+8iI2NMB4KlcnB17LmQCJh7+H2gRLEJT+HfrW4W5067niZRY+0pgIenARJST/qhU8Qu2R0o9mTxFYUwlAkEdPs/JRgAZTe7078NALLVVVz2Lm7Lmrl2903843fZV9iN+4GBKJLWIZeBs+unxdg2HrYI0Hac+s5KHZRR7EgRt5j7PhFQF4xgYoh0B+x4CgPn7SyPDck9SXUwf916BGaHtZGcOmF01SfphFf4hK//H664kCs/7TXzTO1RAC4O0/ufGZj2F5nRi/itgc+sPItntG78YGmO3RNopKl3Mzhwk/FkDRIQ5rNPBsNr4V9RwzCwKXIFBHvWe0EDH/iFwWxbZtw40o7A3GMCR/R6m2pioJ8YGmWe4GObFsB6+Mz7ItLrif4mxsy 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: From: Zeng Jingxiang When memory recycling is triggered by the hard watermark of memsw, anonymous pages do not want to be recycled any further. This is consistent with the processing method of cgroup v2. Signed-off-by: Zeng Jingxiang --- mm/memcontrol.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index c1171fb2bfd6..623ebf610946 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5072,14 +5072,21 @@ void __mem_cgroup_uncharge_swap(swp_entry_t entry, unsigned int nr_pages) long mem_cgroup_get_nr_swap_pages(struct mem_cgroup *memcg) { + struct page_counter *pg_counter; long nr_swap_pages = get_nr_swap_pages(); - if (mem_cgroup_disabled() || do_memsw_account()) + if (mem_cgroup_disabled()) return nr_swap_pages; - for (; !mem_cgroup_is_root(memcg); memcg = parent_mem_cgroup(memcg)) + for (; !mem_cgroup_is_root(memcg); memcg = parent_mem_cgroup(memcg)) { + if (do_memsw_account()) + pg_counter = &memcg->memsw; + else + pg_counter = &memcg->swap; + nr_swap_pages = min_t(long, nr_swap_pages, - READ_ONCE(memcg->swap.max) - - page_counter_read(&memcg->swap)); + READ_ONCE(pg_counter->max) - + page_counter_read(pg_counter)); + } return nr_swap_pages; } From patchwork Wed Mar 19 06:41:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: jingxiang zeng X-Patchwork-Id: 14022138 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 110C7C35FFA for ; Wed, 19 Mar 2025 06:42:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1ACD7280007; Wed, 19 Mar 2025 02:42:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 15C53280001; Wed, 19 Mar 2025 02:42:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F1972280007; Wed, 19 Mar 2025 02:42:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id D0651280001 for ; Wed, 19 Mar 2025 02:42:38 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id F0085C194A for ; Wed, 19 Mar 2025 06:42:39 +0000 (UTC) X-FDA: 83237357238.26.0F3E6AC Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by imf19.hostedemail.com (Postfix) with ESMTP id 11F681A0009 for ; Wed, 19 Mar 2025 06:42:37 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FdjgKsfX; spf=pass (imf19.hostedemail.com: domain of jingxiangzeng.cas@gmail.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=jingxiangzeng.cas@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742366558; h=from:from:sender:reply-to: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:in-reply-to:references:references:dkim-signature; bh=VG3Wd02sYbLjjRpwudjxDazboXof3Wg+sHi5kNrgZhE=; b=QkHsdZr1rTZgwYzfrf8k6zeAGDIMEigp77ayR2T1rX5vdreqsY725heoYdV0cYczXBOySN sLfmypyDe/0BA9dDVL/+to8qJJbXHlne9FnRQs7zeAL9bganV/+5WGQBPXhKO1WUG86T14 GX3m+zrpthDOQQ06imlTXNmbSMmzazo= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FdjgKsfX; spf=pass (imf19.hostedemail.com: domain of jingxiangzeng.cas@gmail.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=jingxiangzeng.cas@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742366558; a=rsa-sha256; cv=none; b=J9zL79uh7S+TMICflCKK+5R21KjIBVG2gIIBNMr1it39OCAJ/X7aONYavVDaqyt4jdxWsd knivyWqMLGun1FlRrk5womQftVV/yMethBLUsHfcSlPmjuWQWsob+Fw/j5ZBCkAZ9g+yfN kVl57hvOo3Jkxz1irzMPIvwdfGSr1rE= Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-225a28a511eso110821195ad.1 for ; Tue, 18 Mar 2025 23:42:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742366557; x=1742971357; darn=kvack.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=VG3Wd02sYbLjjRpwudjxDazboXof3Wg+sHi5kNrgZhE=; b=FdjgKsfX2V/8XPFrVcqcQDTya2yWKaYYDqR35SDE8HVu4swvWfzYNL2dM926oP4tdo xr1YVn29s1YG+JUGuWvORrtEeyB+gw15jaFXiWYtCEgIz8zEKKrWK/FFIuPs4vwoXN1p olNsBC/Ngt7nJuZeAEDA3SAUf6OW+gCYPMMVO1s8C4yjX6AH/5l7r+iW0ZGCQHyClCIX 3JvLzuvJAmUVyQMXLJivLq14LTjhNFTfLl5DfP5+bnlLoEJAuhwbFYphT8XwgZ5GF1q6 7BcVv4ym7N47uj3lWFywTc6H7PAFpuKPatDt5QzzCWup9v97GAmS06aIgAFyqfd8SFi8 lGhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742366557; x=1742971357; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=VG3Wd02sYbLjjRpwudjxDazboXof3Wg+sHi5kNrgZhE=; b=X22WI2o/3V9cma25xIWSMfiZto0rnY/FvU84+3HbDj3j61nmmAI5LqXnVFdiEoCEnO igc9SPKlYaF6U17f8H8uobASQdzMhBq8hDE7P1Fdg1ny1JLfTgvO/Cx+a1Xi0SXtKML7 xr1H0+k3WxRDQ2vDfiC1tZiWF3lrcVKx8YvtMioHMtnecADGSEeBJZsaaXo+n+qrnwuJ aVJ3szMaodujKkyB5m4AzmNVBv1oRkWBGVqfzXTACLU9dkZin1FZ7bcXA9jWNwvekav6 OOT4qU2gc9RJncAqC4QySskqc2jBhzstXYc8/VYmdANKrck1phmjXLBwNkIJBbX1bYBk FNLw== X-Gm-Message-State: AOJu0YyExGSdq5TBOXxyes6RcseNlrwgJR+BUEP0CLknn1Ckt97xJwdZ UwItqbIK8g7ESPHhpPnHIwxbxCdnM7NtCt8PwrLXlvkdvOqn4QxT X-Gm-Gg: ASbGnctcEbeIw5b1USmj4Shj7mAB36a1s12q87mQJun9tztLSp/aDZddvTxx8My7zNK z9AbVJbKVT1k4fu0ysZb9P6GY4/smZcORjLqK5Vct7lCpxVSekTQ054zuu/Yd3Cz0gViB5p1PA2 GC+ZJORygAaDVVvAMuAJdddicNsZPXP8ddVNPhT/Emm+6Wprz4JMTZV9lh5IqLO8A0ENV8/Q7qN su3EKaItQo58Ab3l7pke7Vh1GwlnFXdiXOCUv6ybF1GiEAPcx8wA+7u20TpK/sPRJGwyOMyUNii YZOC2MKFWAE86y6raxVpynPzeNgkkl0AJbQPCbL6R8hphtHMjPNOIr30aDGMDcdQzvCT/56gTOt uVcA6HeyC/vRC+g== X-Google-Smtp-Source: AGHT+IFoC/rsafExGZdoPrX7mXfBQRLZqX5ES4/CB7dhcohKP3VkaXzbs3HPOAlBNSQGytmkp2y/BA== X-Received: by 2002:a17:902:cec6:b0:224:26f2:97da with SMTP id d9443c01a7336-22649a3d6a3mr21556305ad.29.1742366556960; Tue, 18 Mar 2025 23:42:36 -0700 (PDT) Received: from localhost.localdomain ([14.116.239.35]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-225c68a4876sm106191835ad.70.2025.03.18.23.42.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 23:42:36 -0700 (PDT) From: Jingxiang Zeng To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, kasong@tencent.com, Zeng Jingxiang Subject: [RFC 4/5] mm/memcontrol: allow memsw account in cgroup v2 Date: Wed, 19 Mar 2025 14:41:47 +0800 Message-ID: <20250319064148.774406-5-jingxiangzeng.cas@gmail.com> X-Mailer: git-send-email 2.41.1 In-Reply-To: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> References: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> Reply-To: Jingxiang Zeng MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 11F681A0009 X-Rspamd-Server: rspam08 X-Stat-Signature: u4jr1h3sswte48snuzcg6b36nkxbfw5q X-HE-Tag: 1742366557-30883 X-HE-Meta: U2FsdGVkX19mqUrbuf5QygS8XDxXJkUtV3ZgCabAdTltwh0wyexrzmNXaBXyo7pQq/DvhCm4pgsJDRmj6zcoSn7eDi+SF3u2tbRo6qTMELOj6y3Z6muHkvX5oBlF19UJhs/QPDwZaL5Lx/wez9fqLi3jtL0Ni337f6Qq4iHG5tZcCiVTPA/INn+T2S0/IXpAc/K8fmIlEmYhgayNoedhOc9NZvJq7GXsJB+GnXjCSriPz2t3Jhqp8N0ipGkZ5ELVZjoCJaJxXzXUNIskk0bclghzUgvuRSP6BOAaXfDZKZ1WLEPX7F82LN8+HuCASnOPeppmPIwsnJcFreOn+K5JyXE6iVzPAchfqdWfYrt1R1DENCB60avEpVpS9kK+N/FJ7HjyxvKkA7d1QpeNJvvhM5YVDQIvaueivJmwVR4M+3IMdiONn2R0z+7QaTJiV/AXo89gC4v0CJBOJa/rJuHZOuHIDjgVmIjEZMH4m4FrerM8/x7rh+73g4itOIwjv5YvEbzPosQHoHUIRM+Zh3tpu4E6MS6ujwFcQCkuiD7L+BRjqRRXFW1gN8auFxqDFY8cULuhjngHJrwdbs1Yl/Amy4di7dxqiK619U6pDumOewb2mRfPWg2Pn21eR9hwsYvUBerJhB2kFBy8J2DOdfD9YOOcR3FLcsIFEqsEYXfD1my0+efW3BUekpI8hvsi45M4MPnsFSpBuxvK82YcsSAUXV/XwCjEYhaoh5jj6BDvL9zAGWVvR46+D/BLoRAvQbkH+kmxdF+Z8WUxxDVPHbo9b+0/Ww0eAZShVCvWaXWSR0IyVRSKlkGZe+9DH+D/ctmfG9BZOgD4xoKEJUpKRkJFsryBZ4WKC52HwkipISlZryTmvxm0sEtglZhk5HSHr+gYntnNPDkiw+nZiPgqoEvtLyfCSZNQdSy6KrEOrCRek7lC369FC0AxOzGPfaRY6plCo62x9sxR7AMg+N22hJv SIev6uaY sFf8qOTYgp0paCNfO3zxBKALy1QUlON2OvPdSfDxhOiR3t4aZ0pMGI3SaJbLhQ1U/ZUdTMxupT5svY/fRBt96tPNgLxIEHVCZ+ac0sZJrpSjOhiJvURumYxJeqRnsnF+DqhnfYjN2A14hG94xcryqpvLQwY+4WpryMoB6nIPcitawqHJWiF9vJksElkO2ujYdrjQTtFCyOp4/IcxT1u6W5EIJF8CNQE589JQdybhVwq0W5bPwlRToAy8THpv/gkJ1wy5oAXyuqmG4f6lVpp50ACe7lwPuLONYHKXgeJyob1/DoPjCIXJueXIOAMrrHIEX5PSEIyujM+JD5mlRTry9Qxrss1O+Px1wO3VbTymaF0TMK7jov/LPOZX1+HKhbFrHbLziTg1pD6dEezPmJaan/nuoceigqnsWhT67bIYRG/mMruRvSAf0DRJWMU0RKYBrHtP1/UQ2c+1v7Jy0E7RA9dVLXiDcGxB+O9GhWV1GpWsnwaTq4RfBxEvedTAJ9LMtPRpdCqRGVf6A6B3ainjz4CAZ4KOS6RT9XX4Y0grKoJrxkfrqpeySrJlGh1Wi/G8gVp/1JoPGGn1Csekm7sjfwUc8YXx4zD5ZiPsf 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: From: Zeng Jingxiang memsw account is a very useful knob for container memory overcommitting: It's a great abstraction of the "expected total memory usage" of a container, so containers can't allocate too much memory using SWAP, but still be able to SWAP out. For a simple example, with memsw.limit == memory.limit, containers can't exceed their original memory limit, even with SWAP enabled, they get OOM killed as how they used to, but the host is now able to offload cold pages. Similar ability seems absent with V2: With memory.swap.max == 0, the host can't use SWAP to reclaim container memory at all. But with a value larger than that, containers are able to overuse memory, causing delayed OOM kill, thrashing, CPU/Memory usage ratio could be heavily out of balance, especially with compress SWAP backends. This patch restores the semantics of memory.swap.max to be consistent with memory.memsw.limit_in_bytes and the semantics of memory.swap.current to be consistent with memory.memsw.usage_in_bytes when MEMSW_ACCOUNT_ON_DFL config or cgroup.memsw_account_on_dfl startup parameter is enabled. Signed-off-by: Zeng Jingxiang --- mm/memcontrol-v1.c | 2 +- mm/memcontrol-v1.h | 4 +++- mm/memcontrol.c | 29 +++++++++++++++++++---------- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/mm/memcontrol-v1.c b/mm/memcontrol-v1.c index c1feb3945350..3344d5e25822 100644 --- a/mm/memcontrol-v1.c +++ b/mm/memcontrol-v1.c @@ -1436,7 +1436,7 @@ void memcg1_oom_finish(struct mem_cgroup *memcg, bool locked) static DEFINE_MUTEX(memcg_max_mutex); -static int mem_cgroup_resize_max(struct mem_cgroup *memcg, +int mem_cgroup_resize_max(struct mem_cgroup *memcg, unsigned long max, bool memsw) { bool enlarge = false; diff --git a/mm/memcontrol-v1.h b/mm/memcontrol-v1.h index 6358464bb416..7f7ef9f6d03e 100644 --- a/mm/memcontrol-v1.h +++ b/mm/memcontrol-v1.h @@ -36,10 +36,12 @@ struct mem_cgroup *mem_cgroup_id_get_online(struct mem_cgroup *memcg); /* Cgroup v1-specific declarations */ #ifdef CONFIG_MEMCG_V1 +int mem_cgroup_resize_max(struct mem_cgroup *memcg, + unsigned long max, bool memsw); /* Whether legacy memory+swap accounting is active */ static inline bool do_memsw_account(void) { - return !cgroup_subsys_on_dfl(memory_cgrp_subsys); + return !cgroup_subsys_on_dfl(memory_cgrp_subsys) || do_memsw_account_on_dfl(); } unsigned long memcg_events_local(struct mem_cgroup *memcg, int event); diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 623ebf610946..d85699fa8a90 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5205,9 +5205,12 @@ static ssize_t swap_max_write(struct kernfs_open_file *of, if (err) return err; - xchg(&memcg->swap.max, max); + if (do_memsw_account_on_dfl()) + err = mem_cgroup_resize_max(memcg, max, true); + else + xchg(&memcg->swap.max, max); - return nbytes; + return err ?: nbytes; } static int swap_events_show(struct seq_file *m, void *v) @@ -5224,24 +5227,28 @@ static int swap_events_show(struct seq_file *m, void *v) return 0; } -static struct cftype swap_files[] = { +static struct cftype swap_files_v1[] = { { .name = "swap.current", .flags = CFTYPE_NOT_ON_ROOT, .read_u64 = swap_current_read, }, - { - .name = "swap.high", - .flags = CFTYPE_NOT_ON_ROOT, - .seq_show = swap_high_show, - .write = swap_high_write, - }, { .name = "swap.max", .flags = CFTYPE_NOT_ON_ROOT, .seq_show = swap_max_show, .write = swap_max_write, }, + { } /* terminate */ +}; + +static struct cftype swap_files[] = { + { + .name = "swap.high", + .flags = CFTYPE_NOT_ON_ROOT, + .seq_show = swap_high_show, + .write = swap_high_write, + }, { .name = "swap.max.effective", .flags = CFTYPE_NOT_ON_ROOT, @@ -5473,7 +5480,9 @@ static int __init mem_cgroup_swap_init(void) if (mem_cgroup_disabled()) return 0; - WARN_ON(cgroup_add_dfl_cftypes(&memory_cgrp_subsys, swap_files)); + WARN_ON(cgroup_add_dfl_cftypes(&memory_cgrp_subsys, swap_files_v1)); + if (!do_memsw_account_on_dfl()) + WARN_ON(cgroup_add_dfl_cftypes(&memory_cgrp_subsys, swap_files)); #ifdef CONFIG_MEMCG_V1 WARN_ON(cgroup_add_legacy_cftypes(&memory_cgrp_subsys, memsw_files)); #endif From patchwork Wed Mar 19 06:41:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: jingxiang zeng X-Patchwork-Id: 14022139 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 C0516C35FF1 for ; Wed, 19 Mar 2025 06:42:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C1649280008; Wed, 19 Mar 2025 02:42:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BF468280001; Wed, 19 Mar 2025 02:42:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A8E9D280008; Wed, 19 Mar 2025 02:42:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 89ADE280001 for ; Wed, 19 Mar 2025 02:42:43 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B09551CD3C9 for ; Wed, 19 Mar 2025 06:42:44 +0000 (UTC) X-FDA: 83237357448.23.79B2A19 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by imf27.hostedemail.com (Postfix) with ESMTP id D7B9940005 for ; Wed, 19 Mar 2025 06:42:42 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=iUxk0UKi; spf=pass (imf27.hostedemail.com: domain of jingxiangzeng.cas@gmail.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=jingxiangzeng.cas@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742366562; h=from:from:sender:reply-to: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:in-reply-to:references:references:dkim-signature; bh=5ZzC6AyENx2PETrsetwCdLxJEkubtTVJB70KlJ4iY4o=; b=PcIMYZZS67xwcyBNU2xNfYRkdZ91M5VbLc3ySV/z9pzNKNwVPaKgJ1tC2NcBeyNmcVeHFI tWyK3pfao343zaVPD4vGh2Q2Jd4Z9lVUzZc0+b4rkLLRy0vKPvWS2ECe9OTsdJzZdoUXUO Ye7gT+3gW4x9bG25Zb/RlVoIxeWKdNE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742366562; a=rsa-sha256; cv=none; b=KbDrh+BCvY4LmuZQnh9wq8L4G2X+AatUN2RzazUniUVZ+VQd+ddfO7D8eCnvfP+OUfh8RW 9rpI7TdBtgEYKvSJiA9vhgqBLaeKEiuLEF/uFt0gRg2OAPy3V81HUW4g5r8/Og7JcSFVax /6iu0+xLIQTogH5seKMAFaE8LhNlpio= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=iUxk0UKi; spf=pass (imf27.hostedemail.com: domain of jingxiangzeng.cas@gmail.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=jingxiangzeng.cas@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-22580c9ee0aso112419465ad.2 for ; Tue, 18 Mar 2025 23:42:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742366562; x=1742971362; darn=kvack.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=5ZzC6AyENx2PETrsetwCdLxJEkubtTVJB70KlJ4iY4o=; b=iUxk0UKiDRR3prmPYGGfEyztpsB7O2j/2TbDZf/8MPkS4J+37sFyr64mUkJSBvTrzS nPnIrURlGdGfe2leG9mASWyYQLPc7m/TfYeuUpx5LNrc5OEmUbfHEgJhYQmuNdyJRED9 0hCOMyXW8xS0WF9MMTybnTpgaaSUOoaw+O0nioCRq+AX1NwsS7AjARRbVfdRtY6dfyGw WYw4RbAJtGb4HOzXO1UlZ79jldfTeJwA3NF2scRFc+zD6VJSnZa9s6gQmJmsORl94vWy BMNHaXuThCEUFelLbFT4UPEe/bGwmhtP0hG+yT9ct5HIcGq8aMYgH6zBwPhsr5yYUUnx 7jXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742366562; x=1742971362; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=5ZzC6AyENx2PETrsetwCdLxJEkubtTVJB70KlJ4iY4o=; b=vEO5fCEM2fQFTSQyIM1pWbkuYmzbVRXdgx342e5R2EQHZ4EvSp6zPcKcbRSonIeYvM C5UGMwpSpjltX9/cgrGRH8WBLdDhT2LINNpsF50aC9rL0r+A5dCqMtzDiRDlgxhh/G0D Av60skZLPqHlCueyQcU8ZAdJGMl10lt0PKvF6p9uV9kVvznJAnKR1ftNBWb2Fjhoguzl bYO2L5uy6QUJmEOBDB6BLvERi/FzFNY/4yCij6kIEiWf/zylzbM92JXUNhSs/Degg7V5 3biyU0R2XbZr7tjWMN0sNopbpZXi4oIjhZeygcp4ElSOXK5Z+XduVGfeKWOWYxe4ot9E KLvQ== X-Gm-Message-State: AOJu0YzwACxOCeDCuOBF2iwDjjb5BYR5xqGVkUX/TD/8FUcjLqu+NGFl Y2jSIw+OzdZuwYG+RRSV5/JZH+Qgwn/PBXtok0gdnXQX3q2WreR1d/7PCNvL X-Gm-Gg: ASbGncva/sM7EiSUFenjg1n2TrlKpvDH/ihQ1G2AUaSnwUKV1CyJuS7+YigcwupU2t+ LiUzX5pIsShDPSkgU8BXgX4ICM/81gSRPIjYAeoYK+purnctyXuL7fIY/AXlxCmTV+elnw8aN/k CBexAbPS2lR2FIZDppdr+ERnxdagOnwrwBMuZgS/il+8ExMD8NhgGH8rbgjHBD78b4gSQFO2GxQ wLy6rc4ltALZJ7PZOTSU+RP3ELk+pDswEnSneXtpg2SgL9pkkjWLzV/ZsigmcfnYHYmNOn0JLxL x2tU64uoyOn3BK7Ew5utZnRWGvdtRexTQqRnKyg+LioBaJNanPFsJWhFzj8QEMya6/4D4kW10NA jFresmbt9x6rkSw== X-Google-Smtp-Source: AGHT+IGbMABhlmC/SfmCbNUIYnojPpflkLr+r17wa1mHNPi8StcJmSNkJieATMTXfn0TSct3XkdwOw== X-Received: by 2002:a17:902:dac5:b0:226:30f6:1639 with SMTP id d9443c01a7336-22649cbf81amr20878435ad.51.1742366561776; Tue, 18 Mar 2025 23:42:41 -0700 (PDT) Received: from localhost.localdomain ([14.116.239.35]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-225c68a4876sm106191835ad.70.2025.03.18.23.42.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 23:42:41 -0700 (PDT) From: Jingxiang Zeng To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, kasong@tencent.com, Zeng Jingxiang Subject: [RFC 5/5] Docs/cgroup-v2: add cgroup.memsw_account_on_dfl Documentation Date: Wed, 19 Mar 2025 14:41:48 +0800 Message-ID: <20250319064148.774406-6-jingxiangzeng.cas@gmail.com> X-Mailer: git-send-email 2.41.1 In-Reply-To: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> References: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> Reply-To: Jingxiang Zeng MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: D7B9940005 X-Stat-Signature: efweh4bdegy39nn6ok7wifji95kqyyii X-HE-Tag: 1742366562-385068 X-HE-Meta: U2FsdGVkX1+LZllCBDnwQt8LF07WH/sppNI7OKhaLdhURHcYyQjo7Ob7Tc0SstFRrLG1Y/EtZUFRTg8Mav8pbLcKH2WaYlyAH6PH00rBhOuODfyEogWcAp7Xpfc4nSvreT65lCGx8q20uPI/++XvsUI7+87wChH2DfA/VRz3AQWOBZUWqaHs187hVcCXQ3705ru6DGYw/aHgmKvt43+b5T0XEsy3550NGB8HsAMVDdQFSxhtUTwe0PLtP5Tpd1Py0O37IHEvDCPP51nwGRqMJNfk30LQaUmN62Nr5Aac6x4kvnLSX56VcUbLN7IKBD1eyuCZ03LFRDs+p04miz0B+Nmp3kD6iCi6QD5kO/WGWnDH4eYDthLXuHA3C5VMBoYkbnlk68izGnmG5FXm3muakYFHDrdzIHWCUdgho5QUdoT1ikGG7Vd/cyWW1hgKIU0s2gRZZ9wU2JnHk/9nCJQ8uPhG/DRGoXe+xye2gqO6Bu7HDvqCdhI/CUFm3Ag/8LhigR4B/QA9YVlTCEW9/BE6e5wyf8YiuLCC3Hl6Q6F6JVnzm8Sxtp/5FwXCcLal4pr2mfX845t3Ma5B3pR4hAi8//o6NDDLiIyY9sMDT095xOyeRsCQGzXjP55doKhUsyyI/wKC0fRt/8iUpFGJePiwIe+ONTBJjKpYK6FQxSIs7ATTa0btGTW7Mmj9grXq5UtsSL0vXRY341f7CPcNM/QDCyDlBXp2F6KVLBqe+pQ1veflce2iUvIFXiJ8LTauxPYKIKhPxxcEoHl1sbDPb8uST+WyGSQdxfXFM+bRT7QZan1hWbq3VcUR21PxqA+RZEq+asyApLEK8In/MwYU9h23sUhZKGnzkJJr8p+iv18CH9VHXnWxEXxWk7WbxhN89henYOV8Ma37NQa529wSHlQtjAPXbBz/HtGg9m619L9lzSKYM0Jj/omQ4/GBlLuSAJCWA10J0VaAOx1p+gV2Zps Yzb0lmhl GZEamR0oCxTCbh8CY8hnd+jYBTuwueeOkA/vXpTHAFiIVvBGamKzkgSLyIo9zp8N/Wnyo9CejSKNw8kC9tuGzq/1nHyJrdgTxC0Tf/DHJZXgJ+6+MP1F4N/wTgOTqxiQiPfdLnVtogauh4mo9zo9lGcHvfj6c7YHxYS1O3lLP4ayxJlwSaJ+z2zv8ARf2aMGHd43SjHTDGu7JV8X3ivCoDIeWehOAJUE9/Xy//2uNQmlp93trvF6lD83BFc+FUbk8UDR4qLBgRaOStnfzdN8sfUZGsheoN0WP1QdgMA/oVflGePen5apL6XONKtqGBeqVLhkEo/EuKeVssJYY2nMBx/jTt8gROow0IY68Dm/YygXTcyjJLonLfdQd7ODKQvB6o0uQ31pH247RvOY2GFcb759weYIZrf2oAMKrjYnXUoxIUxBYq3aetIpQ9pInbIk3ftnAmw86uFiwxmB5Pj3yZ11lB07IF+0i09DFhXm/ylPkaKbQqADsKbsOQ8oYiSnyLRqYZSiygN1fhhEV9Hu3xzx/8MU6c3yjB2dpBlFckiKsaIjKCAARrmjpv54zv2Kt8yWEk2IjxuKJHuHgGfITd4Stv6sLiuGRGQY8jQgCAxY2fRaM4Q54ttx/LfXohW9UxxRiVKzlCMVpjz6T1ZcS2dx7Iw== 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: From: Zeng Jingxiang Add documentation descriptions for cgroup.memsw_account_on_dfl and CONFIG_MEMSW_ACCOUNT_ON_DFL. Signed-off-by: Zeng Jingxiang --- Documentation/admin-guide/cgroup-v2.rst | 21 +++++++++++++++---- .../admin-guide/kernel-parameters.txt | 7 +++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst index 53ada5c2620a..58869279f0a9 100644 --- a/Documentation/admin-guide/cgroup-v2.rst +++ b/Documentation/admin-guide/cgroup-v2.rst @@ -1704,8 +1704,14 @@ The following nested keys are defined. A read-only single value file which exists on non-root cgroups. - The total amount of swap currently being used by the cgroup - and its descendants. + If memsw_account_on_dfl and CONFIG_MEMSW_ACCOUNT_ON_DFL is not + enabled (the default), this interface represents the total + amount of swap currently being used by the cgroup and its + descendants. + + If memsw_account_on_dfl or CONFIG_MEMSW_ACCOUNT_ON_DFL is enabled, + this interface represents the total amount of memory+swap + currently being used by the cgroup and its descendants. memory.swap.high A read-write single value file which exists on non-root @@ -1737,8 +1743,15 @@ The following nested keys are defined. A read-write single value file which exists on non-root cgroups. The default is "max". - Swap usage hard limit. If a cgroup's swap usage reaches this - limit, anonymous memory of the cgroup will not be swapped out. + If memsw_account_on_dfl and CONFIG_MEMSW_ACCOUNT_ON_DFL is not + enabled (the default), this interface represents the hard limit + of swap usage. If a cgroup's swap usage reaches this limit, + anonymous memory of the cgroup will not be swapped out. + + If memsw_account_on_dfl or CONFIG_MEMSW_ACCOUNT_ON_DFL is enabled, + this interface represents the hard limit of memory+swap usage. + If a cgroup's memory+swap usage reaches this limit, anonymous + memory of the cgroup will not be swapped out. memory.swap.max.effective A read-only single value file which exists on non-root cgroups. diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 2758bc124f16..0aa9e4f85b51 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -644,6 +644,13 @@ nokmem -- Disable kernel memory accounting. nobpf -- Disable BPF memory accounting. + cgroup.memsw_account_on_dfl= [KNL] Enable memory+swap account on cgroupv2. + Format: { "0" | "1" } + 0 - memory.swap.current and memory.swap.max represents the + usage/limit of swap. + 1 - memory.swap.current and memory.swap.max represents the + usage/limit of memory+swap. + checkreqprot= [SELINUX] Set initial checkreqprot flag value. Format: { "0" | "1" } See security/selinux/Kconfig help text.