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 86F8EE6B27C for ; Fri, 1 Nov 2024 13:56:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1DB6D6B00BA; Fri, 1 Nov 2024 09:56:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 18BEF6B00BB; Fri, 1 Nov 2024 09:56:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 053386B00BC; Fri, 1 Nov 2024 09:56:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id DC10D6B00BA for ; Fri, 1 Nov 2024 09:56:53 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 9871EAC69A for ; Fri, 1 Nov 2024 13:56:53 +0000 (UTC) X-FDA: 82737676266.23.606D9BF Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf06.hostedemail.com (Postfix) with ESMTP id AFE3C18001B for ; Fri, 1 Nov 2024 13:56:31 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nkauYcsX; spf=pass (imf06.hostedemail.com: domain of vbabka@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=vbabka@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730469279; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=0DLpygA7elqnsDtJw247HmjCCkfdQ2UDemV72RJELH8=; b=cJ2ULPLxYRqeoHREAPwuq/Du/wwZFbSeeIN8GJ3iwJArpkJ0BRvifaSki3VZvGDQx9YJa6 IpKEzcNEN9PN7gS3c5IHidXsId6crP5MkaP7qiixl0PRLuO+LxYsV0cTwAU2Ih0sBuVx1R 7bZUOMXdWklxWIs01ooQdr3pv0lQpsI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730469279; a=rsa-sha256; cv=none; b=dsBvqtnlcEbQtLAP0BlM0dJIpBH2WTPLsoEZXM+DJcsvqpGCNxHAPMcoxkjs4OQ6Jl3vdS gAmFOSVwAtkQv/bcO6YQu4z+6oddMELRbEcmCwV9BQXKFgfVtbIECgaG1CqFNiGkDACrSP 1GyocGOOeBDBwkXVh8MLLjqlY4O3WSo= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nkauYcsX; spf=pass (imf06.hostedemail.com: domain of vbabka@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=vbabka@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id ADD3F5C8340; Thu, 31 Oct 2024 07:23:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C2E1FC4CEC3; Thu, 31 Oct 2024 07:24:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730359480; bh=1yFPby2pmWFYoqq00f9vK7djsqvzT3AMVgkFNLxoiL8=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=nkauYcsXcckISp551JdG8Vy7Wfu0wcHlN4p6unV7FCDHM4kRonczt8reVLEYWc554 6aj9pdGqxODtUWiqk/JqfpfETj+OlTU1cVPYu3B6l17xLFHi+PEKbvdYYXNnB06mI1 tOaxEeHpHswO0VsgyNO+yfJfLTJAWe8pf5LmD7HQepVQdvLb6B+EXk+bQdOU2iXx86 e1bT1PCdCOc6j8M7/RFK33u/jJcPHV0fb+e+f5LwBDj48LV6MlIi0U6eFdztExolJg biCa/Y/K8C96IIZ9MvfDOMi3Rp6rw0fuafA+A3YdOpe9NhhxM9RssBwjmaZuU6WFX5 vfu7J1kemzr5A== Message-ID: <8418b91e-04bb-4b74-96dd-a9489fbf9ba6@kernel.org> Date: Thu, 31 Oct 2024 08:24:36 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] trace/events/page_ref: add page info to page_ref trace event To: Kassey Li , akpm@linux-foundation.org Cc: minchan@kernel.org, vbabka@suse.cz, iamjoonsoo.kim@lge.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Matthew Wilcox References: <20241031024222.505844-1-quic_yingangl@quicinc.com> Content-Language: en-US From: "Vlastimil Babka (SUSE)" In-Reply-To: <20241031024222.505844-1-quic_yingangl@quicinc.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: AFE3C18001B X-Stat-Signature: xaba43ofzh1s6cazrfhz39wry4kq41ef X-HE-Tag: 1730469391-676291 X-HE-Meta: U2FsdGVkX19JxA/7+OgxaUY2GzwnwNVTFabaep61QEMkW6GvnLsjhyn5lD/jHt+UhOu9Dk9ym+U8MeZjTjlzVG/lZ5IsHvj59Mg05SpqV/LADKWz6hkF6gO9vqMzxA8cUY8gtE85ZRvhM+mbk0Ybi74yfyOIqpa7pAqljEtsxIUAot7eYe3aOELHeiwfH+Ns61O2xgRVdGtGcW4K+fA2TqS7Ee/fJXHd4CReS/i+s1L/a47hCIdPJ1B8L8OdonYYXbznduqSuIFSAitAq/Wl/8Usn8fppzxj1C32Uv1efG/gdh/HQjo7OE8WqdpljpiomXHpJzzTVJFtJXy+I5TpAEOD+/90Yujsqhv4NeIQ/+8hKVBUpdlQn92gyZJ3ubMklUWqMf70QEcWLdrkNG0blre9FEdPjI8/GPA+1IySKVm2CMJnRmWAukBI2bLCn6zATZclJXTleHfVFzeu/85UxaGaWj1DCF7rmhtzwcm0L7c6a7z+bx3w87e7I+jVI+vjj1s4mnATMjFJeM8oRaLfKu9eWHlHOuU20HhcjJ5HsmxjoVem4BpIsrj2mIiww41ZCiD1vvOFXSpO9JDYL2fflh1J1Q7tp4REuZksN0BcRRvUoP5TpE5souwYmkbu8fmu778+IvATxxJG+7022HLZrDU+z8u/ZjoHve6SHfBS9isrPrK4S2bkARblmDcO50TvB/3V7Btud6B6lsPxjgxZ40s9tIjRH6fnghuoq/lLtDxLoW7ORZTo0CM3nmllZaOZ2ZU9yCZlPhLEVnQIYTmfl4yg3nz6b70HhW+4p/lRQk10pNWYYfkpFmy1s4dA7JJ0ddNAAZ5RJXo4+1WFwGHK9xhAijsVBd8fzF2yu7Ee5Ech9/KX3X3HtHNyXT45CYDkx5HMgUfE/mXDU5bu5w84BC0TNH87Q29NJ8xErgwXCmySX6yWlDfM1l9NVsb9VSd5DbFcwZJr7rbT44K74sc 9SC8KV8G yYZVwSf5xHuyp4cu/QxV7um7qD4zjH+GUTuc07cNg5gSJrLcB/SU7d6GVKxa8P5gYFGQpFHM8utNe/zonz34PMfZSVH3lfQdUnO4/BK9lBpCGaBxIx6KRwmluAzJI5pDEj2n4bYNu5AHPMYpw3nCnGB9S7bjks3DVrS1zXyaSlfBdCkND18rUlzGKoqIyvNbWHRsTDUuYb4cCVgYb9AgYLC+/2anFjsVmRf7BLyccT81EmAYVp/ESvIAL6PMsu0/EVfMhGowPTB6pKQz5BZeHszSoyoFexJYS5UuK1C4h5HN9r00Orv/Z9/9aE4USt8LtayubSzYJrW8qmnmLOoD4KL6mbhlViEulqXewlXNlG7twld/Dqu8eOauHq5YJ6cfoVOCteyOEfboIKEm/OmlpEdsq1w== 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: On 10/31/24 03:42, Kassey Li wrote: > This followed > commit 53d884a6675b ("mm, tracing: unify PFN format strings") > to add page info. > > In many kernel code we are talking with page other than pfn, > here we added page algin with pfn. How exactly would this help you, what are you doing with the trace? > Signed-off-by: Kassey Li > --- > include/trace/events/page_ref.h | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/include/trace/events/page_ref.h b/include/trace/events/page_ref.h > index fe33a255b7d0..76df13b2a5b3 100644 > --- a/include/trace/events/page_ref.h > +++ b/include/trace/events/page_ref.h > @@ -18,6 +18,7 @@ DECLARE_EVENT_CLASS(page_ref_mod_template, > > TP_STRUCT__entry( > __field(unsigned long, pfn) > + __field(const struct page *, page) > __field(unsigned long, flags) > __field(int, count) > __field(int, mapcount) > @@ -28,6 +29,7 @@ DECLARE_EVENT_CLASS(page_ref_mod_template, > > TP_fast_assign( > __entry->pfn = page_to_pfn(page); pfn is derived from the page, but not subject to KASLR, so in that sense is better. If you need to correlate the trace with some other data you obtained that does contains page pointers, you will have to postprocess the trace with a pfn_to_page() step, which is rather simple (but you'll need to obtain and supply the randomized base) or have that other data source give you pfn too. The tracepoints should not reveal the randomized base as trivially as they would do after this patch. > + __entry->page = page; > __entry->flags = page->flags; > __entry->count = page_ref_count(page); > __entry->mapcount = atomic_read(&page->_mapcount); > @@ -36,8 +38,9 @@ DECLARE_EVENT_CLASS(page_ref_mod_template, > __entry->val = v; > ), > > - TP_printk("pfn=0x%lx flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d", > + TP_printk("pfn=0x%lx page=%p flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d", > __entry->pfn, > + __entry->page, > show_page_flags(__entry->flags & PAGEFLAGS_MASK), > __entry->count, > __entry->mapcount, __entry->mapping, __entry->mt, > @@ -66,6 +69,7 @@ DECLARE_EVENT_CLASS(page_ref_mod_and_test_template, > > TP_STRUCT__entry( > __field(unsigned long, pfn) > + __field(const struct page *, page) > __field(unsigned long, flags) > __field(int, count) > __field(int, mapcount) > @@ -77,6 +81,7 @@ DECLARE_EVENT_CLASS(page_ref_mod_and_test_template, > > TP_fast_assign( > __entry->pfn = page_to_pfn(page); > + __entry->page = page; > __entry->flags = page->flags; > __entry->count = page_ref_count(page); > __entry->mapcount = atomic_read(&page->_mapcount); > @@ -86,8 +91,9 @@ DECLARE_EVENT_CLASS(page_ref_mod_and_test_template, > __entry->ret = ret; > ), > > - TP_printk("pfn=0x%lx flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d ret=%d", > + TP_printk("pfn=0x%lx page=%p flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d ret=%d", > __entry->pfn, > + __entry->page, > show_page_flags(__entry->flags & PAGEFLAGS_MASK), > __entry->count, > __entry->mapcount, __entry->mapping, __entry->mt,