Re: event tracing, ringbuffer and RB_MAX_SMALL_DATA

From: Johannes Berg
Date: Wed Jul 15 2009 - 05:49:19 EST


On Wed, 2009-07-15 at 09:08 +0800, Li Zefan wrote:

> Right, the length of a dynamic array is not recorded, and this
> causes 2 problems:
>
> - the event filter is not working properly for dynamic strings
> - userspace parsers can't figure out the length of those arrays
>
> I had an idea some time ago, and hopefully will send out a
> patch today or tomorrow.

Well except for the corner case I pointed out, you can determine the
length of dynamic arrays by either
- the next dynamic array's offset or
- the length of the item.

So, afaict, the simplest solution would be to not embed the length of
the item in type_len if it's not divisible by four and contains dynamic
members, though the latter condition might be hard to check.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part