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 7DEA3C369AB for ; Tue, 22 Apr 2025 01:26:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 10BA76B0005; Mon, 21 Apr 2025 21:26:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0B9476B0007; Mon, 21 Apr 2025 21:26:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC2856B0008; Mon, 21 Apr 2025 21:26:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id CEF366B0005 for ; Mon, 21 Apr 2025 21:26:20 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id EE37CC1580 for ; Tue, 22 Apr 2025 01:26:20 +0000 (UTC) X-FDA: 83359939320.26.D989013 Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) by imf10.hostedemail.com (Postfix) with ESMTP id 5B187C000F for ; Tue, 22 Apr 2025 01:26:19 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gourry.net header.s=google header.b=jkhp31p2; dmarc=none; spf=pass (imf10.hostedemail.com: domain of gourry@gourry.net designates 209.85.219.48 as permitted sender) smtp.mailfrom=gourry@gourry.net ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745285179; a=rsa-sha256; cv=none; b=XmtqTFB5z57jZ0b3nnrey9GXkAxa5IYuHILlcaK+geBZrV1VXZEv0nCORLKG9zAm0WVNvc liNWILx+3yFzoFRKufU97HewfH+7DZComqKjqwO8Y2Q7O1/OWyj1rBB4kJ1SD5AWe2e3JI SJueXrI8wr3sCPRgDg/Hrbyzrek3+Fo= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gourry.net header.s=google header.b=jkhp31p2; dmarc=none; spf=pass (imf10.hostedemail.com: domain of gourry@gourry.net designates 209.85.219.48 as permitted sender) smtp.mailfrom=gourry@gourry.net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745285179; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=ShM+OPRo4tkARwcyIJhuiyqycqSNpimqPcyhrf6R0T8=; b=qhQyBt5Xi2TM/PlCtmQ9tBwXO5I1jH4h/mgSwlLfwXQAe+NK8cVBvw9lH7b995c/Qwq6FE j8dnZyUjiNANJ6k+eGgZjfBYWm98kLyk2HsA5KYUp+Vq3uAWmccnSH8HQtHuSjPsy3AMMP oZO6tTdYmC6uQjnv/YqHsC0bdIsfD2I= Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-6f2b04a6169so49546086d6.1 for ; Mon, 21 Apr 2025 18:26:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gourry.net; s=google; t=1745285178; x=1745889978; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ShM+OPRo4tkARwcyIJhuiyqycqSNpimqPcyhrf6R0T8=; b=jkhp31p2JiEdMXS+KhW93NCWUPEfk0lOeEgIW8XsNWkiKN/wKyse1d22H5BrzPIgIp 0xHbtYNpvfm6LxgPzm2XqSl2nFhppCLzK9v+G6a7wb4jPbFvhnYCobcP+J3J1hAcF+x0 EPlVRkKew3WlTO1yjzfjbuzjEkP2Vng2SW37Gy3elMVl0Br14kUB+6LInrvpclt6YHM7 1FHwDazv5QfjyaSBrKVo9f0sflu4IPCfplwy7rmKC7TUv2DARHuNPzLLa5SGT1ukpFzV hTglPFdApy6ToW7IsXhmA301z47gxKcZk4OGyuK4Aki2x5/mFYYgT51ii5iPbTTF8XeH 0F6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745285178; x=1745889978; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ShM+OPRo4tkARwcyIJhuiyqycqSNpimqPcyhrf6R0T8=; b=IIS9+5iW9HSldciiJR+gOQdehKMH1tCoxgU0Urvy+G3i1yo/Ae1cVl74xzjzM9zgy3 S1joV7bStcimSHDtAm6og94SxZbss7GoEro9AGiFZybiqvDvLcQbB9I3UEvdGBBeiVtX zMChcU3oV7T+mheF3zoYvCvmsYyYzHdri1E15OhgVNQikZpiWT7ttD26N2aEvVtNg0/l nazqslkIk0b+TWFfKHzL4+H0S4lQafUdtYPQTcXEjKMb3aHm2Hsq7JdipgRWcn3+7Gwi wW8mlCAqp0Rx6VpqvTbP2aq3xhkjlF9vYGAE8Fvtskc2JHndm65qRZhKzuE6Nc+ofbh8 1sIA== X-Gm-Message-State: AOJu0Ywlbj5Sk0YcKzRWpjujMQo7Sm6POCA2luIhv6ku0AVjQmOr6c3N JbRJRg49rx3had80vtVAIdkNkcMgXG2pmDKkB9bcedAwUYzeWLnCdlP81kvDxmt3H+ABHxcuk7V D X-Gm-Gg: ASbGncteVd2COy5Q77TO5J6eAvM7kjpFR0q5+ZAQWOIqUSob4TDyfEnOsqt/qNXzJT3 QiwZkR0tX0qvWXbJlidX6u9r0RLcUa3SUrwTYDmytihfX2nRE/SHjxgCnlzLG0hfagMe6Puc70F KdoxLoUcbRpSXF8lK+3KPuaKx7FTa8roSfQ7sSEL8LGbJ4JvascLnUdrWTrToC18EEWmoe9MxqX U4dgXtt4rgW2WtEZlH95yagFYTi/QBba6cm8mwRs+N3VojBtswXQ/Rngw5dw96bodhI54SHy9WV RtzP0hipCqZkcaoSKOMfgwW3hozEbJErWGcDHOtCrhzaq2tMOVUq7juI/eonO3RdlQl98b0OsiN 2o8zwcS/qwMvJRB3QHqFR2g2jD/Pu X-Google-Smtp-Source: AGHT+IHA09oLgmb2N1FkvGXbNK6Ei2QvTetwNGSUKWYaIIAktisNIJsenYqDkUExZvqsSRrL/Qzp4w== X-Received: by 2002:a05:6214:248a:b0:6d1:7433:3670 with SMTP id 6a1803df08f44-6f2c44e963cmr251526376d6.4.1745285178136; Mon, 21 Apr 2025 18:26:18 -0700 (PDT) Received: from gourry-fedora-PF4VCD3F.lan (pool-173-79-56-208.washdc.fios.verizon.net. [173.79.56.208]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f2c2c00d78sm50985746d6.79.2025.04.21.18.26.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Apr 2025 18:26:17 -0700 (PDT) From: Gregory Price To: linux-mm@kvack.org Cc: cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@meta.com, longman@redhat.com, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, tj@kernel.org, mkoutny@suse.com, akpm@linux-foundation.org Subject: [PATCH v4 0/2] vmscan: enforce mems_effective during demotion Date: Mon, 21 Apr 2025 21:26:13 -0400 Message-ID: <20250422012616.1883287-1-gourry@gourry.net> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 5B187C000F X-Rspamd-Server: rspam04 X-Stat-Signature: x5yk4j84uwsbgtnp6ss1ypzx5j9jo6n5 X-HE-Tag: 1745285179-216247 X-HE-Meta: U2FsdGVkX1+fpOFvf1Tjns3rjNfVAkTTGcyWF6NZFZaw/UBBH5mTw1Emvth4FbT3FitPyatUOq8q/P2vSReTqyBrAMDEL5JCEpBTf3Sbodv7S/w2ez7sbFADKpYmRGNw2Ie4cNUJeTsu5dPPyqAaPIEyMQP09bmcWs5qRQeXOq7/yCFX0cq+178fGBH7iz6NJlvTg2ha0balXgEY/ktkB0L8Cn7Q347QhjzdQ3StLc1oxhYEx/bGDDA9wd/pyqs4e/A9S8VVdnYAe/XLhxCmN6pA8VZAFcdUqnNFSEwUNyWnN4A0K+qYPNRts5uMnoIKllwDrCoo+37Y+NfaW51K601X+fTMH/x1wz2PoYL08WCwm8+rs9HG7hbEzGLnhlw+fObLAfNO3StBjF6dXHyV6XuoriVTM5JRBaEsUxeo0sjl9whZlgLldGapVjUE6bUniWxUydAKUfRuxlhVcZj7tnnG63S8vGigaOcErnJ7vaQk1M1B1B9aZukqxD3QMn8MC5SY7zCDBZw50+ZNL9RuXj7bW5ldzBaSQgArBmRkq/4CWtpD6NILSGzMRPViusWdBwv5QvKpVcNE6Y40aAbMMNS7s/tjVa+BVozqcLJ6ntcp6jkNtoHcjYmcRfasB5nGpqsLTB14ecoh3csGqyB6ZpV9erUAdA2STGYFJarMgLku/R1vt4bDV7E2cfDIbOeGAk2l6TLTHY5viRs9aapmWZcAN/nTUq0VeCluMV8URdlcAuBvz5GuYODinsPsqPOGQiy+CotWx98GynZl8ibHIzdLHwOMyGaNqP+KtqcmmQL72aSSA8COfVEkvGfOtWCqwLZJCOvQTLthZ49DqnCL1BSd5hepor4wHcqUrWgqefdJM1A3BciCFvbBfyVQ+MCuOY8/XMunN8BaGPdun6ntWPk0/6oIbCLUVJnBC1CnpWpbBOpOPLIhfOsZl6U1tXOyqZ3gilYE55m2PfNM3Vf z4HyQInf 5VAGIlaIVx8CRh9j6dbrsRNx1uFEZwvnBAWjDK1m91g/DkAI= 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: Change reclaim to respect cpuset.mems_effective during demotion when possible. Presently, reclaim explicitly ignores cpuset.mems_effective when demoting, which may cause the cpuset settings to violated. Implement cpuset_node_allowed() to check the cpuset.mems_effective associated wih the mem_cgroup of the lruvec being scanned. This only applies to cgroup/cpuset v2, as cpuset exists in a different hierarchy than mem_cgroup in v1. This requires renaming the existing cpuset_node_allowed() to be cpuset_current_now_allowed() - which is more descriptive anyway - to implement the new cpuset_node_allowed() which takes a target cgroup. v4: - explicitly expect v1 instead of checking for empty effective_mems. this was the case anyway since cpuset and mem_cgroup are in different heirarchy in v1. - update docs to reflect this - rcu_read_lock instead of taking a global lock. - cpuset header fixup when compiled out. Gregory Price (2): cpuset: rename cpuset_node_allowed to cpuset_current_node_allowed vmscan,cgroup: apply mems_effective to reclaim .../ABI/testing/sysfs-kernel-mm-numa | 16 +++++--- include/linux/cpuset.h | 9 +++- include/linux/memcontrol.h | 6 +++ kernel/cgroup/cpuset.c | 30 +++++++++++++- mm/memcontrol.c | 6 +++ mm/page_alloc.c | 4 +- mm/vmscan.c | 41 +++++++++++-------- 7 files changed, 84 insertions(+), 28 deletions(-) -- 2.49.0