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 3DCF8C35FFA for ; Wed, 19 Mar 2025 19:38:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8837828001A; Wed, 19 Mar 2025 15:38:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 83288280010; Wed, 19 Mar 2025 15:38:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6FB1628001A; Wed, 19 Mar 2025 15:38:46 -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 51EC6280010 for ; Wed, 19 Mar 2025 15:38:46 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 1F6251C7C96 for ; Wed, 19 Mar 2025 19:38:46 +0000 (UTC) X-FDA: 83239313052.17.E464682 Received: from mail-qt1-f170.google.com (mail-qt1-f170.google.com [209.85.160.170]) by imf23.hostedemail.com (Postfix) with ESMTP id 2E5DD140004 for ; Wed, 19 Mar 2025 19:38:44 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=lzXU9ouL; spf=pass (imf23.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.170 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742413124; 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=MOsixAo0ygM8pbnBoreCQ/wxYJRqmZpkjLr4PFhJr7E=; b=l1KwJKj9V5v/Gl7E02CDb0dGuTbbL/XZ+4FI1m3oIaPY4E8ltTFh6dMNRlF1lBQLviKcaK xZf9M7GRH/B5Wj87ZqjlKA66W8DjewxY0kszJQOtPrleca2054A9u18yeslswl/HyHMdMX cBo3cAv8NjEbOS+YuPAde/BMuw50Ki4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742413124; a=rsa-sha256; cv=none; b=oggAxZGHcxDEyrEhmXhxnk8j600opBSHwIn2700p8SBAwLXOIoidH6XVYV6+fCYWs1hx6q YC1vmep3chzjAYFExOSy73ZLeeBfx8Mrr+9B3XrXtQ2C7qeXIsCIDuie0eXQGOZs23rizT GUKfxJCMWYGoF8JNdGYW/4RtW63mQAg= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=lzXU9ouL; spf=pass (imf23.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.170 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org Received: by mail-qt1-f170.google.com with SMTP id d75a77b69052e-47688ae873fso787311cf.0 for ; Wed, 19 Mar 2025 12:38:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1742413123; x=1743017923; 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=MOsixAo0ygM8pbnBoreCQ/wxYJRqmZpkjLr4PFhJr7E=; b=lzXU9ouLOHXK5a3H499L4iTqEns9TIft6GI4Hmwx/TBa0LVK7ntWWmy35L1QZ/V5g+ oY1x/HcKD3K724phqAjMPkf0JxglwZVojjQNboDmr1NnihfFT32uYwcInLTVP73t+F0S rCUKJZXtrifZspnTT9TUtCG6uKr6nDjIFIABVH60XzUdLimN6mEFOiOJo2h1Ry/XGwdF TqBPPPH45vIDqIjPFKjhu80ZgNr++8Ozl2TJmCsBl5nEfuVkq99PLHBh2tYqVbboWvGl x/hzkJLGO9NR/KEsSdsyCxUs8HbAm1Y178znhJ6/474ss57zejaMQxj/853j83FLhRPS TgSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742413123; x=1743017923; 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=MOsixAo0ygM8pbnBoreCQ/wxYJRqmZpkjLr4PFhJr7E=; b=nhg9rP1RH1hUMpRjvYaPdoIaSpq8VBpKzYoewbyGJnAPpX03T6u2cSmPJdRO7MC15n VOlbmyJwHjK8jEL/UmPeXhnulJK0z6V3tEFMLaXzc9E4IL3YKZcTblK2H8Q5yq2GH9/H MSNU1eMfXn+lnOJ8lX+X2wr4UAc/2Ko7T6KF6b0oTBk8QgjjDdgQGPjlKzzucjUYI5xC TgdcU0eSR8wknazAV7JUCFfjwmICHC9dq58qK5S6pgsgku5moJfTZEYtiPkXKLsL532o Y/8gJCmBAmdSxJKkW2OvmiV6kPOLhYTD6auyjTjsIs2sGmJl9HNT/vQQv10Gxhpb+Ko1 ii7Q== X-Forwarded-Encrypted: i=1; AJvYcCXqL7zf41hjHHEIcwf7lO8yczj9nXLuSuCxkhQtm5x9LzITxyfLNylV9v//S6IeVmJ1CCzR1BoPLQ==@kvack.org X-Gm-Message-State: AOJu0Yzo7iAXyT7dIkocBrp1Q9GbvooJi4yXd09dEFc998rZtAtrnyCL 5/d3gx8uZx2SrpNA3ZDzYTKS7w4f3nTwXvPJb1hAbtkh2V0RYuiJLajAmbtt0do= X-Gm-Gg: ASbGncv6dQExy9ccvFYa5J30GdWzf1JD5rcZoZTlKIJUVk8CB8MaUozUVjCvTkKv+iV Du8oOPVhU5P8vFXXsMLxJcFviacV+X647E+HBzjGN8rbJaqoRW+5rlrQ0yg35MwFxaCp1cEV2ZN d7GHLJKhK7ohiUEt+u3d+qYYU6HAJ/7h1D/DWHUr+CJc6axG5HAJ3qFwAnnwFQBrX6E8EwKuqZ8 zXf6yjsJ7tb1HxJOchFXAAzizH0o12rUVGfiy/XSd65A7vZtN4J4ntH4VevgiwAhz8x/K4wWp35 ZaGWLeo2Vb9yCPR/8mziMy6fj4j7DXMqlqlNEbdbiWA= X-Google-Smtp-Source: AGHT+IEnyT/QaZRGxSVvO87lm/uVpwiSi1//kCoa1GAM0k0kXVv6aSSGuoigVDhf/LPLiuSPY6r6Kw== X-Received: by 2002:a05:622a:1e1b:b0:476:91a5:c832 with SMTP id d75a77b69052e-47708378761mr64518621cf.32.1742413123208; Wed, 19 Mar 2025 12:38:43 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with UTF8SMTPSA id d75a77b69052e-476bb824a8csm83290581cf.65.2025.03.19.12.38.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 12:38:42 -0700 (PDT) Date: Wed, 19 Mar 2025 15:38:38 -0400 From: Johannes Weiner To: Jingxiang Zeng Cc: akpm@linux-foundation.org, linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, kasong@tencent.com, Zeng Jingxiang Subject: Re: [RFC 0/5] add option to restore swap account to cgroupv1 mode Message-ID: <20250319193838.GE1876369@cmpxchg.org> References: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250319064148.774406-1-jingxiangzeng.cas@gmail.com> X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 2E5DD140004 X-Stat-Signature: r1mcpyu63ofnttkqz6k3swbgsyzfx16d X-HE-Tag: 1742413124-420759 X-HE-Meta: U2FsdGVkX1/hjG50lo/Cuhkg0+N1v701ZxA6M8HuCZwpDWt549GG4YaEzqdpMBIgMkld8ncEccuY9f27laWtZtaPnHIK9HnGEsh+71KLXyZPJenJ0g9a7gAyaMELNvqz3dvlbhjAkUX0p5CQRtDpWN3Jr8+u6hrUmKE2RTK10IdKBAvy3LtWRlyQ8Qg549bo/qhnKdYU+yLrqy523Ie8oV6ZjGSoRtdCBX5qpWqcGRPabMNnrO+OyT3IGTIh3E+rfWEurQNWw+gu/ulOtIfuQqVedp28e/0eTU1X5Jx7b5jGhyPCekRrMZW7cSBcqdUh77nMmzyXxn2HNvSe5apCDOcHCZtNvslIX1aISH2R0mBSNEt2RyBT1la2DNQ2lNp1WRPXEmPACGjoSaHP7zCJA4wLa/4hrOvilIpoTFkB/CTp0IYZJigezSvCzvl0noTSkTJDrB3meyHIwMwH+FOHcPZlLI3ei6VQtnFuGQpdHdt3i6TYajXSN0/P9HbIgSp3dNTmxoRSwD6YIf1CONd4QT5fhVv77jelHaw8DsVKi5JUrthB8F4Cy7Kp2Nozdn39IINLe2wRqZQshvvbq/4UyyXPSmVt/Un9odx5Xkuu51JjDWm4+maGDZm6FzHjySiujfQj5ri6J1UnYtOZ4LOn6rm5JYmLRCUgDiSwtwBiY/DA95kmW83NpVaMYmI4n+6bcInffuUIDXsGMfrqvY1/uT09V4PKNwJK51h99qZES+wraH8085bsYWYlbnPTLZmw0IhLXAGQcPMvBI5YB73gPvRTyymgW9sZhrfQ3A5bnSuc4l0KZvsYgLqIQIRAPrRot1fWVZYJNgd64t1bpu+VtG0DX3tAb0ixRRNWfnBwqjBiNz99CZeRxfZ2v7qs8bhbXH6mlbDMUfBobn7vTeBExloLsWXDh4UsvDl6zIXnoH9BxeBJ1yUGTpnzy6Q/qnR6vm6xCsA5dOl3g/gEgta S1Xxfz/G uhLmzgyUQuxKM5B/KpJP1M+3+bG9J6syg61XlwkGzOT59HJbII33NDmYVwKv5m7M7NfqIzuJiVNqtqdthvSd03euPKEHXQ53MVl1XV2ZDX/1IhtwvDmlyKtsRx0Agfja1sj1r0vsNnn41cZMVItVnil53207d2pHWa6i8 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, Mar 19, 2025 at 02:41:43PM +0800, Jingxiang Zeng wrote: > 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 set adds two interfaces to control the behavior of the > memory.swap.max/current in cgroupv2: > > CONFIG_MEMSW_ACCOUNT_ON_DFL > cgroup.memsw_account_on_dfl={0, 1} > > When one of the interfaces is enabled: memory.swap.current and > memory.swap.max represents the usage/limit of swap. > When neither is enabled (default behavior),memory.swap.current and > memory.swap.max represents the usage/limit of memory+swap. This should be new knobs, e.g. memory.memsw.current, memory.memsw.max. Overloading the existing swap knobs is confusing. And there doesn't seem to be a good reason to make the behavior either-or anyway. If memory.swap.max=max (default), it won't interfere with the memsw operation. And it's at least conceivable somebody might want to set both, memsw.max > swap.max, to get some flexibility while excluding the craziest edge cases.