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 B24C7C02181 for ; Fri, 24 Jan 2025 06:53:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1377C280041; Fri, 24 Jan 2025 01:53:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0E7E0280040; Fri, 24 Jan 2025 01:53:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F3F79280041; Fri, 24 Jan 2025 01:53:19 -0500 (EST) 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 D6BAD280040 for ; Fri, 24 Jan 2025 01:53:19 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 5FE0E1A0E33 for ; Fri, 24 Jan 2025 06:53:19 +0000 (UTC) X-FDA: 83041428918.20.22C1C47 Received: from mail-ot1-f50.google.com (mail-ot1-f50.google.com [209.85.210.50]) by imf23.hostedemail.com (Postfix) with ESMTP id 96BF7140002 for ; Fri, 24 Jan 2025 06:53:17 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Go8i1x9n; spf=pass (imf23.hostedemail.com: domain of hughd@google.com designates 209.85.210.50 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737701597; 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=nDu0gStk+UNY++uqdvEB6rkJOYse4rTEWttgGcD9Cno=; b=zBvMtqFG2aNq/rL+HegC0jgwmJvZnpqDaRQm2ZfEmCwqJEyeUD59J0HJatMBnmqyoUVGBD 0ivNqkD+/xLwDKzwerQZThn0ZqJLYg2BKv+B0/F2Sk33bG9XVLLR/+MrnqkEHi7SScnqtM xVq7S8EYzuw5tTI7cPdcuzEoTPVNGno= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737701597; a=rsa-sha256; cv=none; b=pnXsX5jBYbBeh64uJHgcH40+6bc8AroNFvLopQWe9qMXpqJLRagG0tgqYRKDRUq/FeLfh6 ulZSFmrRVAApC44Wlgpkprpj+uVmqd2ftXVeF9zjwU7LaBRgZZWmYW1oXJzStR5rWWsRS2 Mw9HVqi+gtdLO0s28gJvBrsu0NSwduQ= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Go8i1x9n; spf=pass (imf23.hostedemail.com: domain of hughd@google.com designates 209.85.210.50 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-ot1-f50.google.com with SMTP id 46e09a7af769-724d1726680so458904a34.1 for ; Thu, 23 Jan 2025 22:53:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1737701596; x=1738306396; darn=kvack.org; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=nDu0gStk+UNY++uqdvEB6rkJOYse4rTEWttgGcD9Cno=; b=Go8i1x9nrcxlrss+3D8KodnX+YE43ruF0b2/EjDuKs6XDaf+n+VBqflC9eKaW/cOz8 FR2hc3ZZacmuQHYPxj1ZcySRRtuJhlhtoeF5uImxYLdqKYxZh9cYDXUfQ5qOuO3MY+IO AI05E73YvdecEGU8Dn5kxl54AN4JxGvL2plhLcuV5I8DH1HLGpxwtLO0+UJkrHwCtbA8 Q8gUK867h1eVZyttUy/iDyko6lAltDhEs+YNIximNNpeweOa1mevdkfurdA9SKgHH/mB AsC3bMambTDZXy0Wx3Y9nMt7ojDm9XrruRLaOJNdmLMKopD2nWpktMJnRb1o+x2KxVZo a6lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737701596; x=1738306396; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=nDu0gStk+UNY++uqdvEB6rkJOYse4rTEWttgGcD9Cno=; b=H7ruFKaviIm+OVJ4sX+CahkEBP5cspjPjKsU31Wiv25rOCItxK9kJRW7g+w7B6gvRq qaooOHIRukTuTGLaRYiETLD2opde1NQ05F7pq25P9gPRLBFh9jYFvz0ys8KnpfcncN82 BKkWzNRDF8oQhSKHPW+jlhIz6ukIK0B8Vnb4CZLJcUxDAJtAvTD7A7pIeAH8F//R0rBB VWa/H0Ihy9eP3saD1tthDcYuxXVUfzWCTcbDMpvJ7MY0CHDcBQcYlhkJhiqKbXAGtOCL u9OjWTZGg6pOzqcXjqF795wvhl8GvgbWDUvIfigQqhOSgb6NWWD2vvr1cFk/wxbCJxtC 35LA== X-Forwarded-Encrypted: i=1; AJvYcCVUiofaPCjp3jRNWAQ34WaRR1y4TU1bua0ivRFAgXEJILN4KOk7BTUtYhGm7TUpaEP3LGWG8MLyNQ==@kvack.org X-Gm-Message-State: AOJu0YwpY9ljTM7rQf57Py0N8lEN5DuyYh3R0QjVWNd2PFDg2GqBqOCc Syw1NlnlPk6YUQbg9COMRgDfEpslRc4d23KEPeWlLk9S9lJeWvmrMi9gT0FxDg== X-Gm-Gg: ASbGncvrOnZs/GZMu4jNKAtLaqscPc+EsvzA1XWIclIFJvrz6NPTOvyaWgdIVya8etX 7KoQVC7s2L4b3RnqXSP8/KAt49Gm849FZiBm3u2DYNtVF65BE+8AE0xrsDOC3EAY3Y5AmkjXYAl UCG7BOXz0JyBgpNO2BE5Kj/gdf9I0u3t6Ut+QwP/xUG6E7QxCxks6soBwh7wo30reJ2hw8SHvXT kUWK9KAZ6fvIZSHySb7sH4MjZ6qrO/k8WWCWawJSwATtUnFWXAfiR9fXrS9jXZeV+Lc/V1MvRAs NbErYBj3HTMVu2KcDB6CzgEeRFVJJTk5nifdTv6cxZqfgCiZ4PfSDiI24+qRaSNx X-Google-Smtp-Source: AGHT+IHAVDCUsF/BfZaOV9tq6XtbZ0z0JpadpK/l9o7VaS3dn9pmnpZqyXMEM6eyWzf78l/g0LwiQw== X-Received: by 2002:a05:6830:6404:b0:71e:1fbe:db2a with SMTP id 46e09a7af769-7249da712e3mr19318325a34.12.1737701596499; Thu, 23 Jan 2025 22:53:16 -0800 (PST) Received: from darker.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-724ecdbc95fsm319107a34.18.2025.01.23.22.53.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jan 2025 22:53:15 -0800 (PST) Date: Thu, 23 Jan 2025 22:53:04 -0800 (PST) From: Hugh Dickins To: Johannes Weiner cc: Andrew Morton , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: memcontrol: move memsw charge callbacks to v1 In-Reply-To: <20250124054132.45643-1-hannes@cmpxchg.org> Message-ID: References: <20250124054132.45643-1-hannes@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Stat-Signature: o3z81z45a4joxw334hon9eyhm5nb53w6 X-Rspam-User: X-Rspamd-Queue-Id: 96BF7140002 X-Rspamd-Server: rspam03 X-HE-Tag: 1737701597-22125 X-HE-Meta: U2FsdGVkX1+4z3Re6KnJ12HW5u9gL3WXLWp38dJuT4rEnWexshzp0VnlaDLesiWQXhOjBxrPxYo2c/MTZtTmgtONZ7B5+7y6CH1zicve9DOgLpneFwfZhcI0Mn7b7KbckQhs3j4ag1GoLPcNQv+gGBRvn/wvRoK76ARH+ppqSaqz1TeX1WwoUi1+x4JaktB+JMV1Ys6JYW2g+GtnD6maHgZqpR4YmHsRAuqTJVO2SwqJVG+WuxgPmyJWaGhMonCLRbGyd1y+mOM6uzJgs8/a1RKfEgt1JYCPc/tNDhN252SwMjXNmmcgxlbHtXpc8M6ef+sKkf3MZ6BYQH7+yPTpeQvNwyGc5O79lETUzRRaPR8+0b7YSuZ0Oi2MFaPKYSHbzs+R1rykdOz2XdQmpIVMjEBfMlS9qujichDa2vT3FI6wgxFry8ROiKsx73hvnh5V3w5svO//zQ8+kcnWTLAY8ZHtBn/rBpnwfTcKQvxIF+Za5NH4+RvmJ3DKhNTFQ7lD3TBzG6i0vqxFUPolpQluGPtWJXVLodcaYX0VrhTiI0PbCPRF4LD9diSMhz4aN3Ts1SvgUROwzsP1w2WscfCqOw0hYxRLwN4THTobx1+50Hd97jsiZfFE+FdsGgGaG2s0Ggrk3QuJrOme0iGcAHwrEwXzxd6r5H29ZaH0Mrv0LM1qlZcqWkiOP7vFNWY/mjpNBY3zREGOS67/1yzX6YLcypAgv1HnkZaZy3RUaaBKchN8DR0p/PzrKN0xXmDY8IB0rU9LLqdN59gaKl7SQxisTvez1KSo1ylwNEhqkAlchnebYOeTBpb8psvr4JSYjKoYaMKaMf6s6i5R+jgElrU+nCfwpjJPnKwZZ89h9mJt2N96AHSvW207Z0BaG42X2B3fbTjxlDyITbKs321jjihboipfW+uVGsue+PFTp9zPz6ffamk3LWieJPnWB3+A7UNyrStPzQp31KLJHVBj1ci SJp9Hjaa 1G+D7OBYeuq8t9WkSY/PobkmUoNX5YXBiXQoz9d3niiAeZ/4fGktG3RlNts6wBoRErKBUc2ECXWIR3uuEnEf3+vG51OwQhSv9c3xoD+y67qn51KNWAPt+715EBMnh7wprcWp5V2qfGT9jVHr8QcYXoDZLwCkAWUuhHyc5VQD3aZ74aNj+ZE6c1r+7Mg+P1/KX9edLuuJ597R/ljYNU77ZgfMgHtQkIrKjZFoUGqjRcaJfNdnxZxqdduUdEC0iTjn19LB54wN0oNvfYkVvQCaRNGH7/g0dfEUneBC2eCStOsP+GLxdMfeOpR3jazKutFC6L1LnnfE/7rgraH800vaPEtS47Uj5gscFxRfA6WTu4w9pKPvDS1E+WTjGof0SeW2r44NXGr2Hgd0UO71o+tE6jQaFDviWWjfl+7RUsCPxMgXD6qA= 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 Fri, 24 Jan 2025, Johannes Weiner wrote: > The interweaving of two entirely different swap accounting strategies > has been one of the more confusing parts of the memcg code. Split out > the v1 code to clarify the implementation and a handful of callsites, > and to avoid building the v1 bits when !CONFIG_MEMCG_V1. > > text data bss dec hex filename > 39253 6446 4160 49859 c2c3 mm/memcontrol.o.old > 38877 6382 4160 49419 c10b mm/memcontrol.o > > Signed-off-by: Johannes Weiner I'm not really looking at this, but want to chime in that I found the memcg1 swap stuff in mm/memcontrol.c, not in mm/memcontrol-v1.c, very misleading when I was doing the folio_unqueue_deferred_split() business: so, without looking into the details of it, strongly approve of the direction you're taking here - thank you. But thought you could go even further, given that static inline bool do_memsw_account(void) { return !cgroup_subsys_on_dfl(memory_cgrp_subsys); } I thought that amounted to do_memsw_account iff memcg_v1; but I never did grasp cgroup_subsys_on_dfl very well, so ignore me if I'm making no sense to you. Hugh