From: Steven Rostedt <rostedt@goodmis.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Steven Rostedt <rostedt@kernel.org>,
Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>,
linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
bpf@vger.kernel.org, x86@kernel.org,
Masami Hiramatsu <mhiramat@kernel.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Josh Poimboeuf <jpoimboe@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>, Jiri Olsa <jolsa@kernel.org>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Andrii Nakryiko <andrii@kernel.org>,
Indu Bhagat <indu.bhagat@oracle.com>,
"Jose E. Marchesi" <jemarch@gnu.org>,
Beau Belgrave <beaub@linux.microsoft.com>,
Jens Remus <jremus@linux.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>,
Florian Weimer <fweimer@redhat.com>, Sam James <sam@gentoo.org>,
Kees Cook <kees@kernel.org>,
"Carlos O'Donell" <codonell@redhat.com>
Subject: Re: [PATCH v6 5/6] tracing: Show inode and device major:minor in deferred user space stacktrace
Date: Fri, 29 Aug 2025 12:57:56 -0400 [thread overview]
Message-ID: <20250829125756.2be2a3c3@gandalf.local.home> (raw)
In-Reply-To: <CAHk-=wgv11k-3e8Ee-Vk_KHJMB0S9J1PwHqFUv2X-Z8eFWq8mg@mail.gmail.com>
On Fri, 29 Aug 2025 09:42:03 -0700
Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Fri, 29 Aug 2025 at 09:33, Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > I just realized that I'm using the rhashtable as an "does this hash exist".
>
> The question is still *why*?
The reason is to keep from triggering the event that records the pathname
for every look up.
>
> SO JUST USE THE NUMBERS, for chissake! Don't make them mean anything.
> Don't try to think they mean something.
>
> The *reason* I htink hashing 'struct file *' is better than the
> alternative is exactly that it *cannot* mean anything. It will get
> re-used quite actively, even when nobody actually changes any of the
> files. So you are forced to deal with this correctly, even though you
> seem to be fighting dealing with it correctly tooth and nail.
>
> And at no point have you explained why you can't just treat it as
> meaningless numbers. The patch that started this all did exactly that.
> It just used the *wrong* numbers, and I pointed out why they were
> wrong, and why you shouldn't use those numbers.
I agree. The hash I showed last time was just using the pointers. The hash
itself is meaningless and is useless by itself. The only thing the hash is
doing is to be an identifier in the stack trace so that the path name and
buildid don't need to be generated and saved every time.
In my other email, I'm thinking of using the pid / vma->vm_start as a key
to know if the pathname needs to be printed again or not. Although, perhaps
if a task does a dlopen(), load some text and execute it, then a dlclose()
and another dlopen() and loads text, that this could break the assumption
that the vm_start is unique per file.
Just to clarify, the goal of this exercise is to avoid the work of creating
and generating the pathnames and buildids for every lookup / stacktrace.
Now maybe hashing the pathname isn't as expensive as I think it may be. And
just doing that could be "good enough".
-- Steve
next prev parent reply other threads:[~2025-08-29 16:57 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-28 18:03 [PATCH v6 0/6] tracing: Deferred unwinding of user space stack traces Steven Rostedt
2025-08-28 18:03 ` [PATCH v6 1/6] tracing: Do not bother getting user space stacktraces for kernel threads Steven Rostedt
2025-08-28 18:03 ` [PATCH v6 2/6] tracing: Rename __dynamic_array() to __dynamic_field() for ftrace events Steven Rostedt
2025-08-28 18:03 ` [PATCH v6 3/6] tracing: Implement deferred user space stacktracing Steven Rostedt
2025-08-28 18:03 ` [PATCH v6 4/6] tracing: Have deferred user space stacktrace show file offsets Steven Rostedt
2025-08-28 18:03 ` [PATCH v6 5/6] tracing: Show inode and device major:minor in deferred user space stacktrace Steven Rostedt
2025-08-28 18:39 ` Linus Torvalds
2025-08-28 18:58 ` Arnaldo Carvalho de Melo
2025-08-28 19:02 ` Mathieu Desnoyers
2025-08-28 19:18 ` Linus Torvalds
2025-08-28 20:04 ` Arnaldo Carvalho de Melo
2025-08-28 20:37 ` Linus Torvalds
2025-08-28 20:17 ` Steven Rostedt
2025-08-28 20:27 ` Arnaldo Carvalho de Melo
2025-08-28 20:42 ` Linus Torvalds
2025-08-28 20:51 ` Steven Rostedt
2025-08-28 21:00 ` Arnaldo Carvalho de Melo
2025-08-28 21:27 ` Steven Rostedt
2025-08-29 16:27 ` Sam James
2025-08-28 20:38 ` Linus Torvalds
2025-08-28 20:48 ` Steven Rostedt
2025-08-28 21:06 ` Linus Torvalds
2025-08-28 21:17 ` Steven Rostedt
2025-08-28 22:10 ` Linus Torvalds
2025-08-28 22:44 ` Steven Rostedt
2025-08-29 15:06 ` Steven Rostedt
2025-08-29 15:47 ` Linus Torvalds
2025-08-29 16:07 ` Linus Torvalds
2025-08-29 16:33 ` Steven Rostedt
2025-08-29 16:42 ` Linus Torvalds
2025-08-29 16:50 ` Linus Torvalds
2025-08-29 17:02 ` Steven Rostedt
2025-08-29 17:13 ` Linus Torvalds
2025-08-29 17:57 ` Arnaldo Carvalho de Melo
2025-08-29 20:51 ` Linus Torvalds
2025-08-29 16:57 ` Steven Rostedt [this message]
2025-08-29 17:02 ` Linus Torvalds
2025-08-29 17:52 ` Steven Rostedt
2025-08-29 16:19 ` Steven Rostedt
2025-08-29 16:28 ` Linus Torvalds
2025-08-29 16:49 ` Steven Rostedt
2025-08-29 16:59 ` Linus Torvalds
2025-08-29 17:17 ` Arnaldo Carvalho de Melo
2025-08-29 17:33 ` Linus Torvalds
2025-08-29 18:11 ` Steven Rostedt
2025-08-29 20:54 ` Linus Torvalds
2025-08-29 21:18 ` Steven Rostedt
2025-08-29 22:40 ` Linus Torvalds
2025-08-29 23:09 ` Steven Rostedt
2025-08-29 23:42 ` Steven Rostedt
2025-08-30 0:36 ` Steven Rostedt
2025-08-30 0:44 ` Steven Rostedt
2025-08-30 0:45 ` Linus Torvalds
2025-08-30 1:20 ` Steven Rostedt
2025-08-30 1:26 ` Steven Rostedt
2025-08-30 18:31 ` Steven Rostedt
2025-08-30 19:03 ` Arnaldo Carvalho de Melo
2025-08-30 19:03 ` Linus Torvalds
2025-08-28 18:03 ` [PATCH v6 6/6] tracing: Add an event to map the inodes to their file names Steven Rostedt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250829125756.2be2a3c3@gandalf.local.home \
--to=rostedt@goodmis.org \
--cc=acme@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=andrii@kernel.org \
--cc=arnaldo.melo@gmail.com \
--cc=beaub@linux.microsoft.com \
--cc=bpf@vger.kernel.org \
--cc=codonell@redhat.com \
--cc=fweimer@redhat.com \
--cc=indu.bhagat@oracle.com \
--cc=jemarch@gnu.org \
--cc=jolsa@kernel.org \
--cc=jpoimboe@kernel.org \
--cc=jremus@linux.ibm.com \
--cc=kees@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@kernel.org \
--cc=sam@gentoo.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).