Re: [PATCH v3 11/19] unwind: Add deferred user space unwinding API
Josh Poimboeuf <[email protected]>
| Newsgroups | org.kernel.vger.linux-toolchains,org.kernel.vger.linux-kernel,org.kernel.vger.linux-perf-users |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Oct 29, 2024 at 02:56:17PM +0100, Peter Zijlstra wrote: > On Mon, Oct 28, 2024 at 02:47:38PM -0700, Josh Poimboeuf wrote: > > > + * The only exception is when the task has migrated to another CPU, *and* this > > + * is called while the task work is running (or has already run). Then a new > > + * cookie will be generated and the callback will be called again for the new > > + * cookie. > > So that's a bit crap. The user stack won't change for having been > migrated. > > So perf can readily use the full u64 cookie value as a sequence number, > since the whole perf record will already have the TID of the task in. > Mixing in this CPU number for no good reason and causing trouble like > this just doesn't make sense to me. > > If ftrace needs brain damage like this, can't we push this to the user? > > That is, do away with the per-cpu sequence crap, and add a per-task > counter that is incremented for every return-to-userspace. That would definitely make things easier for me, though IIRC Steven and Mathieu had some concerns about TID wrapping over days/months/years. With that mindset I suppose the per-CPU counter could also wrap, though that could be mitigated by making the cookie a struct with more bits. -- Josh