lkml.org 
[lkml]   [2009]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] ring_buffer: enlarge RB_MAX_SMALL_DATA
Steven Rostedt wrote:
> On Mon, 2009-04-13 at 11:00 +0800, Lai Jiangshan wrote:
>> When I am writing userspace tools for ftrace, I found
>> RB_MAX_SMALL_DATA is too small, some events waste an 'u32'
>> to save the actually length.
>
> Although I like the idea, I want to look at something else.
>
> 2^27 is: 134,217,728
> 2^26 is: 67,108,864
>
> That is the count in nanoseconds. Thus we go from 134 millisecs to 67
> millisecs before we must add an extended counter.
>
> I guess that is not an issue, since 67ms is still quite big. For sparse
> tracing, it could add more extended counters where none were needed. But
> this I doubt this is an issue.

67ms < 0.1sec, It sounds not very good.

>
>> This fix will break previous userspace tools,
>> so complaints are also welcome.
>
> Unfortunately, this changes the API to userspace. For those parsers that
> do this in binary. I think the answer is, before we add this, we export
> the format of the ring buffer headers just like we do for other formats.
> This way, a user tool can default to the old way if the format file does
> not exist, and can know the current format with the file.
>
> I'll work on adding that format file sometime this week.
>

I think ftrace is still in develop-circle, changing its API to userspace
is sometimes OK. Will you agreed this fix after you add that format file?
It saves about 0%-12%(depends on tracer) memory.

How about this method:

{u32 type_len:5, time_delta:27;};

time_delta is still 27bits, but RB_MAX_SMALL_DATA is increased to 112,
it is larger than 60 in my patch.

type_len actual type actual len
0 RINGBUF_TYPE_DATA, array[0]
1 ~ 28 RINGBUF_TYPE_DATA 4*1 ~ 4*28
29 RINGBUF_TYPE_TIME_STAMP
30 RINGBUF_TYPE_TIME_EXTEND
31 RINGBUF_TYPE_PADDING array[0] if it's not the last event
in the buffer_page(discarded event)
If you like this method, I will implement it.

Lai.



\
 
 \ /
  Last update: 2009-04-15 11:19    [W:0.059 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site