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