Re: [PATCH v8 0/2] Introducing trace buffer mapping by user-space

2023-12-20 Thread Steven Rostedt
On Wed, 20 Dec 2023 13:49:30 + Vincent Donnefort wrote: > I meant, to only do in rb_wake_up_waiters() > > if (rbwork->is_cpu_buffer) > rb_update_meta_page(cpu_buffer) > > And skip the meta-page update for the !is_cpu_buffer case? Ah yeah, that works. -- Steve

Re: [PATCH v8 0/2] Introducing trace buffer mapping by user-space

2023-12-20 Thread Vincent Donnefort
On Wed, Dec 20, 2023 at 08:29:32AM -0500, Steven Rostedt wrote: > On Wed, 20 Dec 2023 13:06:06 + > Vincent Donnefort wrote: > > > > @@ -771,10 +772,20 @@ static void rb_update_meta_page(struct > > > ring_buffer_per_cpu *cpu_buffer) > > > static void rb_wake_up_waiters(struct irq_work

Re: [PATCH v8 0/2] Introducing trace buffer mapping by user-space

2023-12-20 Thread Steven Rostedt
On Wed, 20 Dec 2023 13:06:06 + Vincent Donnefort wrote: > > @@ -771,10 +772,20 @@ static void rb_update_meta_page(struct > > ring_buffer_per_cpu *cpu_buffer) > > static void rb_wake_up_waiters(struct irq_work *work) > > { > > struct rb_irq_work *rbwork = container_of(work, struct

Re: [PATCH v8 0/2] Introducing trace buffer mapping by user-space

2023-12-20 Thread Vincent Donnefort
On Tue, Dec 19, 2023 at 03:39:24PM -0500, Steven Rostedt wrote: > On Tue, 19 Dec 2023 18:45:54 + > Vincent Donnefort wrote: > > > The tracing ring-buffers can be stored on disk or sent to network > > without any copy via splice. However the later doesn't allow real time > > processing of the

Re: [PATCH v8 0/2] Introducing trace buffer mapping by user-space

2023-12-19 Thread Steven Rostedt
On Tue, 19 Dec 2023 18:45:54 + Vincent Donnefort wrote: > The tracing ring-buffers can be stored on disk or sent to network > without any copy via splice. However the later doesn't allow real time > processing of the traces. A solution is to give userspace direct access > to the ring-buffer

[PATCH v8 0/2] Introducing trace buffer mapping by user-space

2023-12-19 Thread Vincent Donnefort
The tracing ring-buffers can be stored on disk or sent to network without any copy via splice. However the later doesn't allow real time processing of the traces. A solution is to give userspace direct access to the ring-buffer pages via a mapping. An application can now become a consumer of the