Re: event tracing, ringbuffer and RB_MAX_SMALL_DATA

From: Li Zefan
Date: Wed Jul 15 2009 - 20:50:25 EST


Johannes Berg wrote:
> 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.
>

Actually I'm going to encode the size of a dynamic array
in it's @offset, so the lower 16bits is offset and the
higher 16bits is size.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/