[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bb14f513-cc1c-ba2f-59b4-d926e5c49d6c@gliwa.com>
Date: Tue, 24 Jul 2018 17:30:05 +0200
From: Claudio <claudio.fontana@...wa.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
linux-kernel@...r.kernel.org
Subject: Re: ftrace global trace_pipe_raw
Hello Steve,
thank you for your answer,
On 07/24/2018 04:25 PM, Steven Rostedt wrote:
> On Tue, 24 Jul 2018 10:23:16 -0400
> Steven Rostedt <rostedt@...dmis.org> wrote:
>
>>>
>>> Would work in the direction of adding a global trace_pipe_raw be considered
>>> for inclusion?
>>
>> The design of the lockless ring buffer requires not to be preempted,
>> and that the data cannot be written to from more than one location. To
>> do so, we make a per CPU buffer, and disable preemption when writing.
>> This means that we have only one writer at a time. It can handle
>> interrupts and NMIs, because they will finish before they return and
>> this doesn't break the algorithm. But having writers from multiple CPUs
>> would require locking or other heaving synchronization operations that
>> will greatly reduce the speed of writing to the buffers (not to mention
>> the cache thrashing).
>
I understand, it is not a simple matter then.
> And why would you need a single buffer?
I am interested in all events that have to do with a specific task,
regardless of the CPU they appear on.
Having an already post-processed stream of binary data would be awesome I think.
> Note, we are working on making
> libtracecmd.so that will allow applications to read the buffers and the
> library will take care of the interleaving of the raw data. This should
> hopefully be ready in about three months or so.
>
> -- Steve
That would be great! So the library could handle this kind of preprocessing,
and create a single stream of sorted timestamps/events with the binary data?
Thanks a lot,
Claudio
Powered by blists - more mailing lists