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 81FE2C3ABA3 for ; Thu, 1 May 2025 04:11:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AC4F96B0089; Thu, 1 May 2025 00:11:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A73256B008A; Thu, 1 May 2025 00:11:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 93A696B008C; Thu, 1 May 2025 00:11:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 734F06B0089 for ; Thu, 1 May 2025 00:11:42 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 34EF01A138C for ; Thu, 1 May 2025 04:11:44 +0000 (UTC) X-FDA: 83393015328.12.B140591 Received: from mail-pj1-f68.google.com (mail-pj1-f68.google.com [209.85.216.68]) by imf10.hostedemail.com (Postfix) with ESMTP id 51449C000A for ; Thu, 1 May 2025 04:11:42 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hzv+GU4X; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of xu.xin.sc@gmail.com designates 209.85.216.68 as permitted sender) smtp.mailfrom=xu.xin.sc@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746072702; a=rsa-sha256; cv=none; b=yb+KxEvDhHfqBVKWplIYbCWrrVfgjemR1vzypyKCF9ga/RIHcMtOljoAPMLgUtcN/zNZvG 7YXTWJfFv93FTropEDrYZ+nLHbihKaBLE7ZaDXyjVn6PvWTeANzVXxyD9mv00YrkYI7iTM EOvNpOzKatR8QXBZAEysGajF08QovzU= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hzv+GU4X; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of xu.xin.sc@gmail.com designates 209.85.216.68 as permitted sender) smtp.mailfrom=xu.xin.sc@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746072702; 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:in-reply-to:references:references:dkim-signature; bh=XHIMhaHRLvw2RghH/IB5uM/em0iRZ35SCGJ4beGxlKA=; b=5WylgbjczU4mDRTXhuslhx4b5+UIwlIYtGBbRSDHTJP1fNwfS3T1JPTNxbJznuGPszb/iU j79XGa4Gb18fNPJ3duPd+v9vxMSQlVeoCw3jZPyz65u7S9deOYd8ODmhdKjBvvMowOVCLb PFB8SCjkpPfuLGaNvvjFyqmnp3xOyAY= Received: by mail-pj1-f68.google.com with SMTP id 98e67ed59e1d1-309d2e8c20cso828373a91.0 for ; Wed, 30 Apr 2025 21:11:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746072701; x=1746677501; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XHIMhaHRLvw2RghH/IB5uM/em0iRZ35SCGJ4beGxlKA=; b=hzv+GU4XrPoRvchAJU8hHCpMlHeGfCPcsN7N3Vja09W8YKof4KnlVdvu9hQbS9vVAz /PPsciwSs68XMONE2Db0MKkEr3gm7gaNr0gZiL9F98XdUWLqcnl2LJgWdeppHmxf/kOR wYE5dJOblJuy3K7aKkfF0Ik3uisK2ZbeIjTBVgL5xY1xzgxGoZIIRRKzMeG5wQlmu/oJ rnIT9YXJSc/NfLJ3AmDtDRRYcmAA8iTIyhMgNadoIIYvWjtVXZzygGE0RdjRxHH1jB/m WtVvJ4J8wQdZFQh3+AFuzIlMUhuRhGBzf56Dhh/Oc0UjidMaeeWf3d/a+JTBdsM2k4zh ytyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746072701; x=1746677501; h=content-transfer-encoding:mime-version: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=XHIMhaHRLvw2RghH/IB5uM/em0iRZ35SCGJ4beGxlKA=; b=Hps3y5SHCbggGykdW/RbKqK5AMQ02xjuniJbIDh+cxwBcWK1jUzsICqRNbF23JnxsX 8OPEIfiHUMJ4sCQWGwnAkWSRgvjqkuJo2aduf4tCLWc4NcuWnCFkVVYc39AXKlBlYGFM 82mSCw5mRy33fcxyD7v+dSSyQhvHHCqsmsjE5yAVng/Vz6/hSzrtyIwhnQZVMzuHti+3 vaobbv777CVzOO/IUzMTQ9aIWFpY18jeaBZw8oIGSpLY12vn3GdeAXBpZ6qRHIHD/stb RlFr4QVYtsij8PjN53Wf5pTHw8xc2WtBMi7E9EuIpGyvZNmq+iTWKbjWdoYIBSut2yfg /GKw== X-Forwarded-Encrypted: i=1; AJvYcCVTnIRzsGQzfQgEg00dIE6aF+boT0L+ERpPPrFUln/CwzkTqCDplU7+RV/WY4Ri1pAjb4MqYsV3fQ==@kvack.org X-Gm-Message-State: AOJu0YwUvd3V7hquPKFoaRjwWEHWa2GIB41YoBCaPh3AXzX5JFzkPFOa rcHv+2EeneCYfpvWQ68/NLE/HpAzx9KIGTQQ/OSWrG+j7gc46zgt X-Gm-Gg: ASbGncu5zljlYs9/cnvKFsrZ8cHNk9C4zkPr3VeUbIYujeLtd/DGFhpVsugOOHvfY2G A1vm7LKnRC5AI8waleRj0zqVH9w5rtritmz4hVCBztfCIUPL6SROgj4dHSXh2mF35+1VWDnjpLW xPACMLF3FaAcW/6f/u/DvaNruVTiOgOdSdI35Y4SqbhfAILLIXNqoay3jzeLTcO5jXOcmdV+ZwB 9mtzGJVtQFjlJhOH9IY2Yaj258db6WsJYvp0+ySTgOOgRNPI5gteCk83tpO6JJ6V/Ubwq87ZVsY z1FwyPhDHVHwZxgJ4d4VvEOZA6CbYAy36ARTcjczKcWJGczK6lSEwA== X-Google-Smtp-Source: AGHT+IHqhofn4K/pgs3znTQZX1F5DniK/sLpCE6lLj5At9RS50DnqHAWsyd8CLPEel0uElii4xTipA== X-Received: by 2002:a17:90b:2704:b0:2fe:b907:562f with SMTP id 98e67ed59e1d1-30a400bdae7mr2792257a91.14.1746072700887; Wed, 30 Apr 2025 21:11:40 -0700 (PDT) Received: from localhost.localdomain ([193.203.214.57]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-30a34a11adcsm2549916a91.26.2025.04.30.21.11.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Apr 2025 21:11:40 -0700 (PDT) From: xu.xin.sc@gmail.com X-Google-Original-From: xu.xin16@zte.com.cn To: xu.xin16@zte.com.cn Cc: akpm@linux-foundation.org, david@redhat.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, wang.yaxin@zte.com.cn, yang.yang29@zte.com.cn Subject: [PATCH v2 1/9] memcontrol: rename mem_cgroup_scan_tasks() Date: Thu, 1 May 2025 04:11:34 +0000 Message-Id: <20250501041134.3324145-1-xu.xin16@zte.com.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250501120854885LyBCW0syCGojqnJ8crLVl@zte.com.cn> References: <20250501120854885LyBCW0syCGojqnJ8crLVl@zte.com.cn> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 51449C000A X-Stat-Signature: nwamyqwwomismw7z9hia7qkw9of1h8st X-Rspam-User: X-HE-Tag: 1746072702-234763 X-HE-Meta: U2FsdGVkX18+HLW4Bw14lBpH9XqMDp93RZmgtn5UMAVUeeI63tsjSMepdTLuwQZaT0WDpp7UCycNH6gLTkR5hzdAu8VUyq3ZX1tArJ805HePWWwTZ97cJ9xdAKBd10+FDY4XsUqtZXTzgjriMr2NRCoaNwHA0l7PJxyoNXgG0mbm6YUMJtBsaqMMtQHZuC+XfvOLI2nwV6REHt+tr3T/JoTc4HopzOhFPGQXGrdypSPeYOerX26QCivsp2LY6X5rvWmb29rEf61/Gf1/RFJH97o26BNP6WEmi9DHo0YhGRbG9HlTuMDp1yGHpEluJlM+uSAEEDup1f7QLti4CUpqQ15SermjWvgjLsQOWuezKz9w9TJjlQws+mGHg6EIhPNEl9RFPDUaVGnoSAIdrMkK5yPKXBlXHGQEfMPfoiEZ8iPb2rR2f88W1H4PUPB/ML4FRqllISjIGjGXl6/eJZIGqdlrnqfz/R1h/spgyPF2onV5BpBbcGNqzwJG8X9/ctt1vXqiJZ24VCyGvyWiuAJRLk/Osu8xYPs7ooiZhAgMob98av7gWGaotb69030PrLagjSZEafHkLFwVPKrqTNISOXv8Lz5owxRim+qxV6k6z/cMis1C1FxbWZK36wcEC3InrfI21yOPLyIcn6uMVBWlJB2eCcRYf7vsgEYc+sdIxwEwTPdQUQ5O8wXYS8aJEqJqDUlV4/MGqeTUZPHL+nleWvmQoB4K+wYpsY6JpsqPzgCyXojYT9RWLjYIgNwe3Gg6fGZYkEX3qge1UbqCWavWOvpyTfyXlR/7N3LjFAOPbCTZivbS1GqaQ/3BZxrR+9xRt7O1BncrpOhGNCN98LO1/lKqfuxf7zVz92E2EFaDCAnMqwelVgWz5QETB3Q4DD91WiGXIGJ7H0r2gHGZDEJciEOulC5pwvgxqcx63CYqZunO3LK4/VSc7V3aTp3XHXtE60utejxbMWeKC7D1Y24 h5eKbas/ 7JeyJvPgYxh4/A8y2hUVKZ7/MzhaotUHocQR71xA+gEbz4kBdvmkXViWNKl/YEbVVDtabb3mfsghE7hdy+7UmES82nb1Cp8VrJQYhTZP4tnNvOgtnfOSN+Dsevx6jJfXG4+tGSkfG4aCyhVaap7STCwsBCYzmRPnT3lV6WAxbrSIAetTOwJG+7BfFEYBVrVil5ax+mlbZKUsodm6J/gE1777MMn7ViR+wHy6v3SXtezxvJqsKMj3WWP6UDfW6ooRP9sZag7RREzjUtKRJ1qfuFctRJZ4hGRFADn5KsLt2mb5NE8KVo2WaaCmbQyLOINY2XcVRt3im2KRX9GfDvUE2TExtpDwnI3XS6ZdN4cWsjLE0qy1xofjIlCy3BNE2sKy1P6UEP6wwMIzDg5P+lZMRgIGvHPaxu1nBYk5Vwzl0cCsAeYXoPCdqd0YKw1jCOFrUqI+PGIjYjUFmG2s3odkWjsZUUFkbEKCvdSAduKrReuH6UDY= 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: xu xin Current Issue: ============== The function mem_cgroup_scan_tasks in memcontrol.c has a naming ambiguity. While its name suggests it only iterates through processes belonging to the current memcgroup, it actually scans all descendant cgroups under the subtree rooted at this memcgroup. This discrepancy can cause confusion for developers relying on the semantic meaning of the function name. Resolution: ========= Renaming: We have renamed the original function to **mem_cgroup_tree_scan_tasks** to explicitly reflect its subtree-traversal behavior. A subsequent patch will introduce a new mem_cgroup_scan_tasks function that strictly iterates processes only within the current memcgroup, aligning its behavior with its name. Signed-off-by: xu xin --- include/linux/memcontrol.h | 4 ++-- mm/memcontrol.c | 4 ++-- mm/oom_kill.c | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 5264d148bdd9..1c1ce25fae4c 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -795,7 +795,7 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *, struct mem_cgroup *, struct mem_cgroup_reclaim_cookie *); void mem_cgroup_iter_break(struct mem_cgroup *, struct mem_cgroup *); -void mem_cgroup_scan_tasks(struct mem_cgroup *memcg, +void mem_cgroup_tree_scan_tasks(struct mem_cgroup *memcg, int (*)(struct task_struct *, void *), void *arg); static inline unsigned short mem_cgroup_id(struct mem_cgroup *memcg) @@ -1289,7 +1289,7 @@ static inline void mem_cgroup_iter_break(struct mem_cgroup *root, { } -static inline void mem_cgroup_scan_tasks(struct mem_cgroup *memcg, +static inline void mem_cgroup_tree_scan_tasks(struct mem_cgroup *memcg, int (*fn)(struct task_struct *, void *), void *arg) { } diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 6bc6dade60d8..3baf0a4e0674 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1164,7 +1164,7 @@ static void invalidate_reclaim_iterators(struct mem_cgroup *dead_memcg) } /** - * mem_cgroup_scan_tasks - iterate over tasks of a memory cgroup hierarchy + * mem_cgroup_tree_scan_tasks - iterate over tasks of a memory cgroup hierarchy * @memcg: hierarchy root * @fn: function to call for each task * @arg: argument passed to @fn @@ -1176,7 +1176,7 @@ static void invalidate_reclaim_iterators(struct mem_cgroup *dead_memcg) * * This function must not be called for the root memory cgroup. */ -void mem_cgroup_scan_tasks(struct mem_cgroup *memcg, +void mem_cgroup_tree_scan_tasks(struct mem_cgroup *memcg, int (*fn)(struct task_struct *, void *), void *arg) { struct mem_cgroup *iter; diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 25923cfec9c6..af3b8407fb08 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -367,7 +367,7 @@ static void select_bad_process(struct oom_control *oc) oc->chosen_points = LONG_MIN; if (is_memcg_oom(oc)) - mem_cgroup_scan_tasks(oc->memcg, oom_evaluate_task, oc); + mem_cgroup_tree_scan_tasks(oc->memcg, oom_evaluate_task, oc); else { struct task_struct *p; @@ -428,7 +428,7 @@ static void dump_tasks(struct oom_control *oc) pr_info("[ pid ] uid tgid total_vm rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name\n"); if (is_memcg_oom(oc)) - mem_cgroup_scan_tasks(oc->memcg, dump_task, oc); + mem_cgroup_tree_scan_tasks(oc->memcg, dump_task, oc); else { struct task_struct *p; int i = 0; @@ -1056,7 +1056,7 @@ static void oom_kill_process(struct oom_control *oc, const char *message) if (oom_group) { memcg_memory_event(oom_group, MEMCG_OOM_GROUP_KILL); mem_cgroup_print_oom_group(oom_group); - mem_cgroup_scan_tasks(oom_group, oom_kill_memcg_member, + mem_cgroup_tree_scan_tasks(oom_group, oom_kill_memcg_member, (void *)message); mem_cgroup_put(oom_group); } -- 2.15.2