Messages in this thread | | | Date | Thu, 16 Jul 2009 08:48:42 +0800 | From | Li Zefan <> | Subject | Re: event tracing, ringbuffer and RB_MAX_SMALL_DATA |
| |
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.
| |