From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtpout.efficios.com (smtpout.efficios.com [158.69.130.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 94383284B29; Fri, 31 Oct 2025 14:49:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=158.69.130.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761922150; cv=none; b=AsPyjF9gFqtmbe+S9TUufnxsNY09e9L+cMNrOylXnKcx5qG9nfIMAOJFtsLjScRK8IEN92WUDCywHUgHouYueg0wFSmC50wCO5/Wl8c0JTlcWw5+6B1lLLq4z0kOmmqiDyt5o8LPC8gGW57eXXj0YO5Nw1WB4IoLzKgfiOF3vj8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761922150; c=relaxed/simple; bh=zELbUNvODsjEk+Mru2ftqbAJE3XgDtge+h5wiOsMAEo=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=a23qMuAHJw1lgwskIK+sT7QHX9RyP/rQKGJELAmBM36gdz6V3q4Jl7DHc6KhdN07yWmFovps2XkOvIgQ3OwncjPyzaF4BmuhV6Mqz1c5KuzzEFjMqjvGAgd6JD8nCiTCjXpUUJqPZP/qBes4N3YL+YIghCsWAhPWXptx2odPUKE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=efficios.com; spf=pass smtp.mailfrom=efficios.com; dkim=pass (2048-bit key) header.d=efficios.com header.i=@efficios.com header.b=vrYl1tBn; arc=none smtp.client-ip=158.69.130.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=efficios.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=efficios.com header.i=@efficios.com header.b="vrYl1tBn" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=smtpout1; t=1761921761; bh=mn4Rixq7zXBuMBlaqQmjCKrD+qIqVw6PlXV4D24CrIA=; h=From:To:Cc:Subject:Date:From; b=vrYl1tBnleKUc4qHluXabp2KWvP7tFw41yKB5QTaottntuaQHyecL2vgW+tfXF4gz darLlhPDsAeHo6IkH5oZ4g1u4DCfVlN4rz2N1IhzSND/lFNGYQQskYOgsNer6VoZ8b tKgvQ7MwI2+LrvpgEwtUjYIsB//ERgHd+dUnJv4u6aZbr/Ixk7R9fa59XS6vK41wBl eaEnB0Sa+VLgsEfaJ8w4tTbi25BuQQOn+cyNcpXZXstZxTwCNsFJ1roNAUU6LYq2zp sGulXKyqQ8oHirybdrD4cWYv2jjkjSe5HBj19iZSXoBeqlsiszvMtXmfnqnI3uub4S cYsNGocmld9Ig== Received: from thinkos.internal.efficios.com (mtl.efficios.com [216.120.195.104]) by smtpout.efficios.com (Postfix) with ESMTPSA id 4cykGn4jKfzGXX; Fri, 31 Oct 2025 10:42:41 -0400 (EDT) From: Mathieu Desnoyers To: Mateusz Guzik , Vlastimil Babka , Sweet Tea Dorminy Cc: linux-kernel@vger.kernel.org, Mathieu Desnoyers , Andrew Morton , "Paul E. McKenney" , Steven Rostedt , Masami Hiramatsu , Dennis Zhou , Tejun Heo , Christoph Lameter , Martin Liu , David Rientjes , christian.koenig@amd.com, Shakeel Butt , SeongJae Park , Michal Hocko , Johannes Weiner , Lorenzo Stoakes , "Liam R . Howlett" , Mike Rapoport , Suren Baghdasaryan , Christian Brauner , Wei Yang , David Hildenbrand , Miaohe Lin , Al Viro , linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, Yu Zhao , Roman Gushchin , Matthew Wilcox , Baolin Wang , Aboorva Devarajan Subject: [RFC PATCH v7 0/2] mm: Fix OOM killer inaccuracy on large many-core systems Date: Fri, 31 Oct 2025 10:42:30 -0400 Message-Id: <20251031144232.15284-1-mathieu.desnoyers@efficios.com> X-Mailer: git-send-email 2.39.5 Precedence: bulk X-Mailing-List: linux-trace-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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). Relevant delta since v6: Rebase to v6.18-rc3 and implement get_mm_counter_sum() as percpu_counter_tree_precise_sum(). 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: SeongJae Park Cc: Michal Hocko Cc: Johannes Weiner Cc: Sweet Tea Dorminy Cc: Lorenzo Stoakes Cc: "Liam R . Howlett" Cc: Mike Rapoport 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 Cc: Baolin Wang Cc: Aboorva Devarajan Mathieu Desnoyers (2): lib: Introduce hierarchical per-cpu counters mm: Fix OOM killer inaccuracy on large many-core systems include/linux/mm.h | 10 +- include/linux/mm_types.h | 4 +- include/linux/percpu_counter_tree.h | 203 ++++++++++++++ include/trace/events/kmem.h | 2 +- kernel/fork.c | 32 ++- lib/Makefile | 1 + lib/percpu_counter_tree.c | 394 ++++++++++++++++++++++++++++ 7 files changed, 627 insertions(+), 19 deletions(-) create mode 100644 include/linux/percpu_counter_tree.h create mode 100644 lib/percpu_counter_tree.c -- 2.39.5