From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-m1973179.qiye.163.com (mail-m1973179.qiye.163.com [220.197.31.79]) (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 907873BADAA for ; Wed, 29 Apr 2026 09:50:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.79 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777456208; cv=none; b=dZ8oXDPHeEyb+KJfy+8GRHfpCbCewd2+ejHKAr0If1D5wJRYbN8AZrWHgRxBsqR/Nu/67VdLNyxM7YiFOAcDWJBipYtHRRM2SrfQ+bUlAd5GEsegXeJxD5KHiwwMS5a+ZoC83wk1fRg4t2pEKTGh9hbh40BzeBvaVWvfHDFkuxE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777456208; c=relaxed/simple; bh=sEeMY6em2sksq2g0WQRwnGDQu30lkkzwOUfmhg5IjlE=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=RaMdqdCljf8eiJcJuc2qRaOC+H096H/Fgyfcxiw4HKhu7Fdf6Q7bXJj5GQv/K5aOjgLlH6j9GX2mZwIJ6OHHZJ9O0gwDVpA/8zndOtVSNFBNZq/PMnHgTfyG5o7zBd6t18DIE6IdOx3e7E5/2wb+MGwUKrASmkvhVv7Yt4CLZ5k= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=easystack.cn; spf=pass smtp.mailfrom=easystack.cn; arc=none smtp.client-ip=220.197.31.79 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=easystack.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=easystack.cn Received: from [192.168.0.18] (unknown [218.94.118.90]) by smtp.qiye.163.com (Hmail) with ESMTP id 198a320f7; Wed, 29 Apr 2026 17:14:25 +0800 (GMT+08:00) Message-ID: <327ba94a-2d0b-4e2f-89d6-b261a6cfa433@easystack.cn> Date: Wed, 29 Apr 2026 17:14:25 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 4/4] mm/page_owner: document page_owner filter features To: SeongJae Park Cc: akpm@linux-foundation.org, vbabka@kernel.org, surenb@google.com, mhocko@suse.com, jackmanb@google.com, hannes@cmpxchg.org, ziy@nvidia.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20260429013514.88985-1-sj@kernel.org> From: "zhen.ni" In-Reply-To: <20260429013514.88985-1-sj@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-HM-Tid: 0a9dd884a8000229kunm27c5ff541b2c74 X-HM-MType: 1 X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly tZV1koWUFJQjdXWRgWCB1ZQUpXWS1ZQUlXWQ8JGhUIEh9ZQVlDHUMaVkNDTU9CTB5IT0JLTVYVFA kWGhdVGRETFhoSFyQUDg9ZV1kYEgtZQVlJSkNVQk9VSkpDVUJLWVdZFhoPEhUdFFlBWU9LSFVCQk lOS1VKS0tVSkJLQlkG 在 2026/4/29 09:35, SeongJae Park 写道: > On Tue, 28 Apr 2026 15:11:12 +0800 Zhen Ni wrote: > >> Add documentation for the page_owner filter functionality, including: >> - Print mode filter (full stack vs stack handle) >> - NUMA node filter (single node, multiple nodes, ranges) >> - Usage examples for both filters >> >> Signed-off-by: Zhen Ni >> --- >> >> Changes in v3: >> - New patch to document filter features as requested by Andrew Morton >> --- >> Documentation/mm/page_owner.rst | 55 ++++++++++++++++++++++++++++++++- >> 1 file changed, 54 insertions(+), 1 deletion(-) >> >> diff --git a/Documentation/mm/page_owner.rst b/Documentation/mm/page_owner.rst >> index 6b12f3b007ec..6261366d33fe 100644 >> --- a/Documentation/mm/page_owner.rst >> +++ b/Documentation/mm/page_owner.rst >> @@ -74,7 +74,17 @@ Usage >> >> 3) Do the job that you want to debug. >> >> -4) Analyze information from page owner:: >> +4) (Optional) Use filters to focus on specific memory allocations:: >> + >> + cd /sys/kernel/debug/page_owner_filter >> + >> + # Print only stack handles instead of full traces >> + echo 1 > print_mode >> + >> + # Filter by NUMA nodes >> + echo "0,2-3" > nid > > Nit. Other parts of the document uses tab for the indentation, while the above > new snippet is using four spaces. How about using tab for the consistency? > >> + >> +5) Analyze information from page owner:: >> >> cat /sys/kernel/debug/page_owner_stacks/show_stacks > stacks.txt >> cat stacks.txt >> @@ -238,6 +248,49 @@ Usage >> ./page_owner_sort --tgid=1,2,3 >> ./page_owner_sort --name name1,name2 >> >> +Page Owner Filters >> +================== >> + >> +The page_owner feature provides filtering capabilities to focus on specific >> +memory allocations (e.g., by NUMA node). Filters are controlled through debugfs >> +files in ``/sys/kernel/debug/page_owner_filter/``. >> + >> +Print Mode Filter >> +----------------- >> + >> +The ``print_mode`` file controls the level of detail in stack trace output. >> + >> +Available modes: >> + >> +- ``0`` (default): Print full stack traces >> +- ``1``: Print only stack handles >> + >> +The ``print_mode=1`` output format:: >> + >> + Page allocated via order 0, mask 0x42800(GFP_NOWAIT|__GFP_COMP), >> + pid 1, tgid 1 (systemd), ts 349667370 ns >> + PFN 0xa00a2 type Unmovable Block 1280 type Unmovable >> + Flags 0x33fffe0000004124(...) >> + handle: 17432583 > > Tab for indentation? > >> + >> +To retrieve the full stack trace for a handle, use:: >> + >> + cat /sys/kernel/debug/page_owner_stacks/show_stacks_handles > > Tab? > >> + >> +NUMA Node Filter >> +---------------- >> + >> +The ``nid`` file filters pages by NUMA node. This is useful for NUMA-aware >> +environments to analyze node-specific memory allocation. >> + >> +Supported input formats: >> + >> +- Single node: ``echo "2" > nid`` >> +- Multiple nodes: ``echo "0,2,3" > nid`` >> +- Node range: ``echo "0-3" > nid`` >> +- Mixed format: ``echo "0,2-4,7" > nid`` >> +- Disable filter: ``echo "-1" > nid`` >> + >> STANDARD FORMAT SPECIFIERS >> ========================== >> :: >> -- >> 2.20.1 > > > Thanks, > SJ > > I will fix all instances to use tab . Thanks, Zhen