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 F198CC77B7C for ; Thu, 3 Jul 2025 15:20:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 71D7694000B; Thu, 3 Jul 2025 11:20:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6F4BF940007; Thu, 3 Jul 2025 11:20:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 60AFF94000B; Thu, 3 Jul 2025 11:20:46 -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 4E179940007 for ; Thu, 3 Jul 2025 11:20:46 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E51771402B8 for ; Thu, 3 Jul 2025 15:20:45 +0000 (UTC) X-FDA: 83623315650.06.4660CE0 Received: from smtpout.efficios.com (smtpout.efficios.com [158.69.130.18]) by imf16.hostedemail.com (Postfix) with ESMTP id 4D1E218000A for ; Thu, 3 Jul 2025 15:20:44 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=hsMjQ1Uj; spf=pass (imf16.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 158.69.130.18 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com; dmarc=pass (policy=none) header.from=efficios.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751556044; 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=yib2ltuU4751CX8RCwcFpROvyvid6H8L7QV82vFayQY=; b=1BuPL9n32NnTINhDTyQeD8/dJxX34WtlJQC9RDS6YWqQXQlnOJeYA6vZSa28enjyvqOTmp h/KU6TGFACqxlfsWmlTutMdGYlmfTtr9Vqd/v7RSrjNrtBzu/5ysbc/pBHlvEDh6eDIJag AjVe4feFwa9xlq2Awr8JHGWY4eId2PU= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=hsMjQ1Uj; spf=pass (imf16.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 158.69.130.18 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com; dmarc=pass (policy=none) header.from=efficios.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751556044; a=rsa-sha256; cv=none; b=oygigYHBt5x8qFlzQWSctNcTnn6GcS9xxQYEPcSBQYRymhZ0pkfgubTubPGxRii/rQSalH ZeH7q2mis9sdch76LrylZCeWVNDjpAitcX16kRv6pUU0tlIfi4O4df9pNHl71avfKLUl+Z 1gla7RANlSWbEeADZsH+Iz9qAtELGaY= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=efficios.com; s=smtpout1; t=1751556043; bh=PB9TNaTNKH+VQLSh3v9KswAy35tz1G3hodK352qbFh0=; h=From:To:Cc:Subject:Date:From; b=hsMjQ1UjeYUAI6Oe7nSGWF1+Nr/+Sqw2MrVx4+1/0gJQdMTK06RLvaprhIRASGqG9 RcZnPQSuyrUPT1OOgJ22ChGvxS63+GAJD5WJ3XPfRLmvetcWBoj4YdBrAcsNW5C/cg XGEJCRfowXtFTXR96pYYqPUqYT+EmhG2bH+ysBilDq1Js3Pyr6WFT5gzLpKlRlFMoB 9csxnfdECM8MLwwZPi5XFNh5eOu0II0K7X10WuyvC7YyttI49x7TXcL+87Ryc/atba wgV4UZhxI4jJJVKBfux+rZ8vNAEWviU50/OWQXk+ZhuCHu50ATLyEfm1hdLH1hVXeJ BPGro5PrcCVow== Received: from thinkos.internal.efficios.com (192-222-132-26.qc.cable.ebox.net [192.222.132.26]) by smtpout.efficios.com (Postfix) with ESMTPSA id 4bY0p26xl8z1MSc; Thu, 3 Jul 2025 11:20:42 -0400 (EDT) From: Mathieu Desnoyers To: Andrew Morton Cc: linux-kernel@vger.kernel.org, Mathieu Desnoyers , "Paul E. McKenney" , Steven Rostedt , Masami Hiramatsu , Dennis Zhou , Tejun Heo , Christoph Lameter , Martin Liu , David Rientjes , christian.koenig@amd.com, Shakeel Butt , Johannes Weiner , Sweet Tea Dorminy , Lorenzo Stoakes , "Liam R . Howlett" , Suren Baghdasaryan , Vlastimil Babka , Christian Brauner , Wei Yang , David Hildenbrand , Miaohe Lin , Al Viro , linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, Yu Zhao , Roman Gushchin , Mateusz Guzik , Matthew Wilcox Subject: [RFC PATCH v4 0/2] mm: Fix OOM killer inaccuracy on large many-core systems Date: Thu, 3 Jul 2025 11:20:30 -0400 Message-Id: <20250703152032.10507-1-mathieu.desnoyers@efficios.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: kftajr8hhqw4p5fb8b4uy8bfusfihez8 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 4D1E218000A X-Rspam-User: X-HE-Tag: 1751556044-450748 X-HE-Meta: U2FsdGVkX1854HPXckwhhE2Yr7ka8Z1QfFLux53ZSeP6J+/36fa+4Gd3xLYOeppOhyhmLQFKQth1Wqd4v6653Q/YD+opLCWGRsWX5RBb9pzH55OMid2TAvTPyLj5L86e4Ji8SGO99F8CMuZRf1EFcBEr9W8cmfbyJ78TXt6ABPwPuMsLsI/RXtn0AGIzOi4SEXdYA2+uYXu2MvqqsJtcoS41mVh/z2muJCHnanLFKsLTD6jfLBcvZKSKHS7QhbPBm9H0Preb9fG9l7x7eoFriu+btC959TXAvMVGzx5NLCYeKxtYG4iRVowObtikf3mSFRHzdn6RB9ET2NEG/KmqAF8lCpMwhAjst04dZ8C0YwCVbg6VTL5khH94EC1oWo+mtaKbyDbb1xxLM2EGRYXrBDkOTZwVgvNqAgLurB0okSsLm1tr335N3XrzpYaaEi4OTHc+tcep1Ab50k10TcycOUmKlKXRmKyrbuJpRbzh3DqPX6O3KSFnQwENNglnrTfDw/Ix7qXETFBnsu7WvBFFs1gwJf55ydrSp1hc9jfGwxPJEmFMZFIjHQjSe8u1pKpnayMg9b83L9lqfVynSojTFUh52XIGjSwXDbmAma7ZloskjqChjqg7ho5OFmSk1jE6Jdv1b/13hgk7OO+DTPU3T8m0N5ABmE7FAVLy2Qr6oPfD589NXjniSUearF7rMLnNhdAkm3szN2X9V4+b9rd30njo9VV5B64Bl+81icPX1ifrDTECbgUnbXl1iWF05lyu7cGcROJj9FSgwQ9x4JaaRRHoSROlf3TrTTsTaDbiDBn6nh6BE/fBFNuHZwglqH3TB//1NP5RIOQheGxuoz59/bhVcAqJDlcwBftcnroBmAFvzeADAmkKp+uRuVgc/auJ71e8sgBrIAxQWfpZ6SmzoI8RXq0ZSZ7yynWMiEGVvu834jtpWhJFyynGQPvFKmV3vz8AGRj7qbMZYkcvvZQ 1zz81f/B f+sie70J2///VKr2eJJz82eScgmXFu7ceawB5jRbh3+RoACf+zjMlR89HdYhP0E9khT+MCG4YWm09R5RieOCJXlMuM8zWNKFvvJ9L5BAaM3fLT5N0qad3tq1krGnic5KRh9ncvT5jldwq4z/j86dAYN0EjwlVec72OKqHodBYclatp7c6xBud/js+zQRx6+BQ7Ef+laHr7UX2gTimlOBwi/rS6km+ka2iORrryw/N6bu6p5Mx0byzjSHyU6zu4HmTb0Oc88IdNlD3E/7FkIxnXHKkMCEhlHN24iogl6vnqmF9bPyO5Q1O+kMxQwXUGdMsINFgPKTKaCHa4I0fXWKeCH0vphZWzY6IKqWL3sp2HJJOx3stYnmmZdxThxSPVbPolVkBsvtebL6y1qjOxJlGMhNiudpRkdnR1uZV/nQeNE0uDYo1txuTcyAttbhTXgfH8TwtCFDrFp8f33Aum56lrGMzbddDxED4ntR0ZJlJRuq/DQ7P0OVJ5UqOgFlrm6G/cNk2hZ/dtlWT6W3kn1sqzUmdWLrZ8q1XDaXjgk7ST7UFyIloYFgNXehhg90z8W8E2g7ipgS3xXdE1ePJwC3RnZ4DghzrtmNXrProrARcTSB38OVtddAD+b85CObPUgTLbPHMgnrFc8jr1RCC9ygWxwXTTvemLOKgOpfU3/CiDy9ln9Wwit7YS7b/1Jyd+KmGr5jEF0uimws4n3TOM9T9cpfqcksduTCV4DtrfvJGP2JzqYn40hSLWGeCwnEI505CAM69vvao/MOO9urax+0XVzVeC28K5onaN0njW4JbWiIhsFYBEpmRvSB05XsQIdwWx86CSUG/mQYEbWxuJuCFXfeVnbPJla8oemXojutcQfBkqwfTG4QkZKigfvwfhB0PMhuzrTbDDyDW+e2R2D3x0qixLNE26Rh1w61S0RmJZwUzpBUWM4KsXDrDg1Ngd2b9PCybH17+w56LvZ4= 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: Introduce hierarchical per-cpu counters and use them for rss tracking to fix the per-mm RSS tracking which has become too inaccurate for OOM killer purposes on large many-core systems. The approach proposed here is to replace this by the hierarchical per-cpu counters, which bounds the inaccuracy based on the system topology with O(N*logN). Testing and feedback are welcome! Thanks, Mathieu Cc: Andrew Morton Cc: "Paul E. McKenney" Cc: Steven Rostedt Cc: Masami Hiramatsu Cc: Mathieu Desnoyers Cc: Dennis Zhou Cc: Tejun Heo Cc: Christoph Lameter Cc: Martin Liu Cc: David Rientjes Cc: christian.koenig@amd.com Cc: Shakeel Butt Cc: Johannes Weiner Cc: Sweet Tea Dorminy Cc: Lorenzo Stoakes Cc: "Liam R . Howlett" Cc: Suren Baghdasaryan Cc: Vlastimil Babka Cc: Christian Brauner Cc: Wei Yang Cc: David Hildenbrand Cc: Miaohe Lin Cc: Al Viro Cc: linux-mm@kvack.org Cc: linux-trace-kernel@vger.kernel.org Cc: Yu Zhao Cc: Roman Gushchin Cc: Mateusz Guzik Cc: Matthew Wilcox Mathieu Desnoyers (2): lib: Introduce hierarchical per-cpu counters mm: Fix OOM killer inaccuracy on large many-core systems include/linux/mm.h | 8 +- include/linux/mm_types.h | 4 +- include/linux/percpu_counter_tree.h | 108 ++++++++ include/trace/events/kmem.h | 2 +- kernel/fork.c | 31 ++- lib/Makefile | 1 + lib/percpu_counter_tree.c | 393 ++++++++++++++++++++++++++++ 7 files changed, 530 insertions(+), 17 deletions(-) create mode 100644 include/linux/percpu_counter_tree.h create mode 100644 lib/percpu_counter_tree.c -- 2.39.5