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 6C84AC3DA4A for ; Mon, 29 Jul 2024 21:23:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BAA9F6B0085; Mon, 29 Jul 2024 17:23:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B59886B0088; Mon, 29 Jul 2024 17:23:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9D3A36B008C; Mon, 29 Jul 2024 17:23:05 -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 7D1966B0088 for ; Mon, 29 Jul 2024 17:23:05 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id F1A171C208A for ; Mon, 29 Jul 2024 21:23:04 +0000 (UTC) X-FDA: 82394065488.20.9C6ADFE Received: from m35-116.mailgun.net (m35-116.mailgun.net [69.72.35.116]) by imf25.hostedemail.com (Postfix) with ESMTP id 4D2FDA0028 for ; Mon, 29 Jul 2024 21:23:03 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=relay.vimeo.com header.s=mailo header.b=ffqgKZRz; dmarc=pass (policy=reject) header.from=vimeo.com; spf=pass (imf25.hostedemail.com: domain of "bounce+ea57f2.9d2a1c-linux-mm=kvack.org@relay.vimeo.com" designates 69.72.35.116 as permitted sender) smtp.mailfrom="bounce+ea57f2.9d2a1c-linux-mm=kvack.org@relay.vimeo.com" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722288123; h=from:from:sender: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:dkim-signature; bh=a7Ljw3AXkZDzOFLBKFNTY35O0ifJdJ40YsuUE1AtXfE=; b=eLcoG/I4srmoMw5EA/dIbmTTfuqifpDuo+laR03f9tHjks3He6zWMJQxLtsptaY6OK+AJn cnpVTSI4np3B0OLKmCnnYraHop2xYdo2SQ8TNfL3kfLv2TPJqknnsrxu1l4UpH7Bcz2m0D n/h2Ur0TO5blTjn/08tjiuvvLiDi8a4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722288123; a=rsa-sha256; cv=none; b=W3dKEz5Z5PSRHQ0VXUzoO2SrBvfNTHtoU9yRgvCgwyHP0bwdT6liaL2JapRPE1s8HL2eHN u+R/LxULY3TdDJqPhvGyNynXe+1B2n0vQiIZzCPHVZsHEXB/U4i6qSbaNnroqg8tUR1Q0J vNSgQU9j1rtpDWWfWi4iAvjf52S34UE= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=relay.vimeo.com header.s=mailo header.b=ffqgKZRz; dmarc=pass (policy=reject) header.from=vimeo.com; spf=pass (imf25.hostedemail.com: domain of "bounce+ea57f2.9d2a1c-linux-mm=kvack.org@relay.vimeo.com" designates 69.72.35.116 as permitted sender) smtp.mailfrom="bounce+ea57f2.9d2a1c-linux-mm=kvack.org@relay.vimeo.com" DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=relay.vimeo.com; q=dns/txt; s=mailo; t=1722288182; x=1722295382; h=Content-Transfer-Encoding: MIME-Version: Message-Id: Date: Subject: Subject: Cc: To: To: From: From: Sender: Sender; bh=a7Ljw3AXkZDzOFLBKFNTY35O0ifJdJ40YsuUE1AtXfE=; b=ffqgKZRzwWe/rjwPkeU0auwsgZE8n2OXANRPo2taxUJDP0teyQ4lDzl9KAoWMQDz6Vi3AkQYEEsFq7Zi8tFTJ4tx4GDVV7Kc3rRIxBKnd4mM1Wi1rHVoow4GSeaC/aqKf/TWK8teWRy6j+WIyIieLSgxGzM/u9FBtrxxp7rjo6c= X-Mailgun-Sending-Ip: 69.72.35.116 X-Mailgun-Sid: WyI5NTRmYiIsImxpbnV4LW1tQGt2YWNrLm9yZyIsIjlkMmExYyJd Received: from smtp.vimeo.com (215.71.185.35.bc.googleusercontent.com [35.185.71.215]) by 1ba2f445e949 with SMTP id 66a80836c423567e51c57d49 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Mon, 29 Jul 2024 21:23:02 GMT Received: from nutau (gke-sre-us-east1-main-c45160e0-ow8k.c.vimeo-core.internal [10.56.27.211]) by smtp.vimeo.com (Postfix) with ESMTP id 120CA64FC7; Mon, 29 Jul 2024 21:23:02 +0000 (UTC) Received: by nutau (Postfix, from userid 1001) id 5BB66B409D2; Mon, 29 Jul 2024 10:38:00 -0400 (EDT) From: David Finkel To: Muchun Song , Tejun Heo , Roman Gushchin , Andrew Morton Cc: core-services@vimeo.com, Jonathan Corbet , Michal Hocko , Shakeel Butt , Shuah Khan , Johannes Weiner , Zefan Li , cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, =?UTF-8?q?Michal=20Koutn=C3=BD?= Subject: [PATCH v6] mm, memcg: cg2 memory{.swap,}.peak write handlers Date: Mon, 29 Jul 2024 10:37:41 -0400 Message-Id: <20240729143743.34236-1-davidf@vimeo.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 4D2FDA0028 X-Stat-Signature: g9afhh56otynxcfiqgsown3dskkuc93x X-Rspam-User: X-HE-Tag: 1722288183-216200 X-HE-Meta: U2FsdGVkX1+U+7vdaiRAtTjFfo0IyTYN/vCkDcOz5ViDNWbu1d50e7BjYkz7noa9shWpFab1cuvA5syC9eZjtbnY6fsSsuhcDWiRs+eCUAaRTk7bFZa1k4UHM7c41TgB2q8pTQOJK/+OdgE/HsScj3BJdJowE6PqNYTKSarxUIVTFCcy+ppOauv5SqqSQ0qzmqleox6sAcPnw5fNNX0mojzAK4RkwkbOQYNDx712OQMDjim1h5LAt8BnFVdzlOl0OAwRWZUv72movsXznIkDy/sgL6ESmXXOgz5zDFZdgJ7jhAXpQfl7fxBRiWHW50tkSy4XOONC47tpoSMww0AMzkOtp/pLTJtu4psPe7AsnmLdbqbqwNa43XMfH9wFfh3o04QrZdp2BQHpguiN02AApN48h/jRuahZPmXISw/OKrHcLQRhbAy/yXtea06mmc+fZtHosOj6k+LAxf+rWYyTLZHKtBheKphqAaEkwTbtOHrYKox431bFCflxo0OpJ61YNx2efiOX/n0zgxuU3t4RX1k3VwfL0kPWjrXtNRIpuwoLJ4pbFZPAH14/L/htLt6iVSjcUBwXjhgO0Pjh3IX6vKcntDk+iqBExxHpSUL8Y6rRxMYKNliqBqhQxMNCBC4rw6/8BjNkWaC2fXYODyACZPdhjR1Rd+eYze6YlrVYtRvOt3Wult1cD03vSugvum5GNhmdeEhjl5czcQICDMmwZV8r34ZwU82/ybc5hagAAkiIbpt+ybB5sVZ5SoEQ9jPyrdEgzHWVsoKDMhfNnB6FJel6a2kTRS2RIIxV3/PMi3wWG7uk7YBnAJOjfzBrVowUSprM6J65wsvhLcIQ78ztUXD8SZiegqhgl9LcLlw1ga5A+YRuITjzSVR2oaZq4eQjZr7XvcVoqfasODJ9i7Ds52OMKSCEIrRj++MGqwaLCQSxz5Xb5Gh48G1QswXwrPEvNyjd6b/Q4tArmbr6YjD cEN5/n5J /yWmDKKYLeCTrZwU7WYRV5lpXaubm0s5StcJ7OEmC/HlrXzI2Zz0H58icl6XwJ2cyo2qupr0GwVGSIk+NCbGFC9r4AnGaONjJT8uwJZbHcU+A5WckvpqQU8OHmZeUsj6zpBdqUdaCztefaWPRPm9YsNkyFUI+dPjr+KdqXOWS30FpFbSmZU9ABLnG0MIDColFPSViu37G1NXbvBPvWdU25CaiwuR7IVD1n36TAqeenP7gXHQb1QI5Urh3uKl8r2+DPcSuNtMJKw0ilvDPtqjcjikTEBBXtR/SBTutPcl9bdQp40wtYdxW3nlGR+5U2FqMu2w7DzkVPTGOp+DU8pVRiovkw6ArdE3MzAvUJr5WV9Be1VsfFoU2IKWoYgpBVVq9JGw3bzgYUxczfk02oCxUNB0pspD5gKCuWXrgmZJLO9HBQnO5cVt6560tQ31tBtNdwZQlK2OpqRzRMaDFBWgzmeo8jKNgaRW+R3Ih72RPRlk1RdIoihXlQWHUwRsMKsLdqjmel5FLWUE1pmNBlqDM2jCdIBLJyjp6Ndj7 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: This is an updated patchset rebasing onto -torvalds master (post 6.11-rc1), and addressing comments from Michal and Tejun. As requested by Tejun and Johannes, I've removed the explicit check for the string "reset", so it now allows any non-empty string. (Empty strings get filtered before our write handler executes) I've also made several of the field reads and writes atomic with {READ,WRITE}_ONCE, and adjusted more of the types to be unsigned. Documentation/admin-guide/cgroup-v2.rst | 22 ++-- include/linux/cgroup-defs.h | 5 + include/linux/cgroup.h | 3 + include/linux/memcontrol.h | 5 + include/linux/page_counter.h | 11 +- kernel/cgroup/cgroup-internal.h | 2 + kernel/cgroup/cgroup.c | 7 + mm/memcontrol.c | 116 +++++++++++++++-- mm/page_counter.c | 30 +++-- tools/testing/selftests/cgroup/cgroup_util.c | 22 ++++ tools/testing/selftests/cgroup/cgroup_util.h | 2 + tools/testing/selftests/cgroup/test_memcontrol.c | 229 +++++++++++++++++++++++++++++++-- 12 files changed, 419 insertions(+), 35 deletions(-) [1]: https://lore.kernel.org/cgroups/20240724161942.3448841-3-davidf@vimeo.com/T/