All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: 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>,
	Ingo Molnar <mingo@kernel.org>, Jiri Olsa <jolsa@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>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH v10 06/14] unwind_user/deferred: Add deferred unwinding interface
Date: Thu, 19 Jun 2025 10:01:08 +0200	[thread overview]
Message-ID: <20250619080108.GY1613376@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <20250618113706.2eb46544@gandalf.local.home>

On Wed, Jun 18, 2025 at 11:37:06AM -0400, Steven Rostedt wrote:
> On Wed, 18 Jun 2025 16:20:00 +0200
> Peter Zijlstra <peterz@infradead.org> wrote:
> 
> > > The timestamp is passed to the caller on request, and when the stacktrace is
> > > generated upon returning to user space, it call the requester's callback
> > > with the timestamp as well as the stacktrace.  
> > 
> > This whole story hinges on there being a high resolution time-stamp
> > available... Good thing we killed x86 !TSC support when we did. You sure
> > there's no other architectures you're interested in that lack a high res
> > time source?
> > 
> > What about two CPUs managing to request an unwind at exactly the same
> > time?
> 
> It's mapped to a task. As long as each timestamp is unique for a task it
> should be fine. As the trace can record the current->pid along with the
> timestamp to map to the unique user space stack trace.
> 
> As for resolution, as long as there can't be two system calls back to back
> within the same time stamp. Otherwise, yeah, we have an issue.

Well, up until very recent, jiffies was the fallback clock on x86. You
can get PID reuse in a jiffy if you push things hard.

Most archs seem to have some higher res clock these days, but I would
not be surprised if among the museum pieces we still support there's
some crap lying in wait.

If you want to rely on consecutive system calls never seeing the same
timestamp, let alone PID reuse in the same timestamp -- for some generic
infrastructure -- you need to go audit all the arch code.

  parent reply	other threads:[~2025-06-19  8:01 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-11  0:54 [PATCH v10 00/14] unwind_user: x86: Deferred unwinding infrastructure Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 01/14] unwind_user: Add user space unwinding API Steven Rostedt
2025-06-18 13:49   ` Peter Zijlstra
2025-06-11  0:54 ` [PATCH v10 02/14] unwind_user: Add frame pointer support Steven Rostedt
2025-06-18 13:52   ` Peter Zijlstra
2025-06-18 15:09     ` Steven Rostedt
2025-06-23 16:31       ` Indu Bhagat
2025-06-24 20:30         ` Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 03/14] unwind_user: Add compat mode " Steven Rostedt
2025-06-18 13:46   ` Peter Zijlstra
2025-06-18 15:10     ` Steven Rostedt
2025-06-18 17:52       ` Linus Torvalds
2025-06-18 18:37         ` Steven Rostedt
2025-06-18 13:47   ` Peter Zijlstra
2025-06-18 15:18     ` Steven Rostedt
2025-06-19  7:51       ` Peter Zijlstra
2025-06-19  8:39         ` Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 04/14] unwind_user/deferred: Add unwind_deferred_trace() Steven Rostedt
2025-06-18 13:54   ` Peter Zijlstra
2025-06-18 13:59   ` Peter Zijlstra
2025-06-18 15:20     ` Steven Rostedt
2025-06-18 16:26       ` Steven Rostedt
2025-06-18 14:01   ` Peter Zijlstra
2025-06-18 15:23     ` Steven Rostedt
2025-06-18 14:02   ` Peter Zijlstra
2025-06-18 15:29     ` Steven Rostedt
2025-06-19  7:54       ` Peter Zijlstra
2025-06-19  8:44         ` Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 05/14] unwind_user/deferred: Add unwind cache Steven Rostedt
2025-06-18 14:13   ` Peter Zijlstra
2025-06-18 15:33     ` Steven Rostedt
2025-06-19  7:56       ` Peter Zijlstra
2025-06-19  8:47         ` Steven Rostedt
2025-06-19  9:04           ` Peter Zijlstra
2025-06-19  9:12             ` Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 06/14] unwind_user/deferred: Add deferred unwinding interface Steven Rostedt
2025-06-18 14:20   ` Peter Zijlstra
2025-06-18 15:37     ` Steven Rostedt
2025-06-18 15:38       ` Steven Rostedt
2025-06-19  8:01       ` Peter Zijlstra [this message]
2025-06-19  8:49         ` Steven Rostedt
2025-06-18 18:46   ` Peter Zijlstra
2025-06-18 19:09     ` Steven Rostedt
2025-06-18 19:36       ` Steven Rostedt
2025-06-19  7:50       ` Peter Zijlstra
2025-06-19  8:56         ` Steven Rostedt
2025-06-19  9:11           ` Peter Zijlstra
2025-06-24 14:03             ` Steven Rostedt
2025-06-24 22:36     ` Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 07/14] unwind_user/deferred: Make unwind deferral requests NMI-safe Steven Rostedt
2025-06-19  8:34   ` Peter Zijlstra
2025-06-19  8:37     ` Steven Rostedt
2025-06-19  8:44       ` Peter Zijlstra
2025-06-19  8:48         ` Peter Zijlstra
2025-06-19  9:10           ` Steven Rostedt
2025-06-19  9:24             ` Peter Zijlstra
2025-06-19  8:57   ` Peter Zijlstra
2025-06-19  9:07     ` Steven Rostedt
2025-06-19  9:32       ` Peter Zijlstra
2025-06-19  9:34         ` Peter Zijlstra
2025-06-19  9:42         ` Steven Rostedt
2025-06-19  9:45           ` Peter Zijlstra
2025-06-19 10:19             ` Steven Rostedt
2025-06-19 10:39               ` Peter Zijlstra
2025-06-19 13:04                 ` Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 08/14] unwind deferred: Use bitmask to determine which callbacks to call Steven Rostedt
2025-06-20  8:15   ` Peter Zijlstra
2025-06-24 14:55     ` Steven Rostedt
2025-06-24 15:00       ` Peter Zijlstra
2025-06-24 16:36         ` Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 09/14] unwind deferred: Use SRCU unwind_deferred_task_work() Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 10/14] unwind: Clear unwind_mask on exit back to user space Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 11/14] unwind: Finish up unwind when a task exits Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 12/14] unwind_user/x86: Enable frame pointer unwinding on x86 Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 13/14] perf/x86: Rename and move get_segment_base() and make it global Steven Rostedt
2025-06-11  0:54 ` [PATCH v10 14/14] unwind_user/x86: Enable compat mode frame pointer unwinding on x86 Steven Rostedt
2025-06-12 21:44 ` [PATCH v10 00/14] unwind_user: x86: Deferred unwinding infrastructure Andrii Nakryiko
2025-06-12 22:02   ` Josh Poimboeuf
2025-06-12 23:30     ` Andrii Nakryiko

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=20250619080108.GY1613376@noisy.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=akpm@linux-foundation.org \
    --cc=andrii@kernel.org \
    --cc=beaub@linux.microsoft.com \
    --cc=bpf@vger.kernel.org \
    --cc=indu.bhagat@oracle.com \
    --cc=jemarch@gnu.org \
    --cc=jolsa@kernel.org \
    --cc=jpoimboe@kernel.org \
    --cc=jremus@linux.ibm.com \
    --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=rostedt@goodmis.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.