lkml.org 
[lkml]   [2015]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH] perf/core: Put size of a sample at the end of it


On 2015/12/3 18:08, Peter Zijlstra wrote:
> On Wed, Dec 02, 2015 at 01:38:19PM +0000, Wang Nan wrote:
>> This sloution requires user program (perf) do more things. At least
>> following things and limitations should be considered:
>>
>> 1. Before reading such ring buffer, perf must ensure all events which
>> may output to it is already stopped, so the 'head' pointer it get
>> is the end of the last record.
> Right, this is tricky, this would not allow two snapshots to happen back
> to back since that would then result in a bunch of missed events.
>
> Aside from this issue its a rather nice idea.

Thank you for your attitude. We can start consider it seriously.

Now I'm working on perf side code to make a workable prototype.

>> 2. We must ensure all events attached this ring buffer has
>> 'PERF_SAMPLE_SIZE' selected.
> That can be easily enforced.

Yes.

>> 3. There must no tracking events output to this ring buffer.
> That is rather unfortunate, we'd best fix that up.
>
>> 4. 2 bytes extra space is required for each record.
> 8, perf records must be 8 byte aligned and sized.

So does it means we need to pad before outputing size?

>> Further improvement can be taken:
>>
>> 1. If PERF_SAMPLE_SIZE is selected, we can avoid outputting the event
>> size in header. Which eliminate extra space cose;
> That would mandate you always parse the stream backwards. Which seems
> rather unfortunate. Also, no you cannot recoup the extra space, see the
> alignment and size requirement.

That's good. We don't need to consider this :)

Before receiving your comment I'm thinking about modifying
DEFINE_OUTPUT_COPY() to write first sizeof(header) bytes at the
end of reserved area, so it would work automatically for every
possible events.

>> 2. We can find a way to append size information for tracking events
>> also.
> The !sample records you mean? Yes those had better have them too.

Thank you.



\
 
 \ /
  Last update: 2015-12-03 11:41    [W:0.111 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site