Re: [PATCH 5/5] blktrace: print human-readable act_mask

Li Zefan
2009-03-24T09:01:21Z

Ingo Molnar wrote:
> * Li Zefan <lizf@cn.fujitsu.com> wrote:
>
>> Print stringified act_mask instead of hex value:
>> # cat act_mask
>> read,write,barrier,sync,queue,requeue,issue,complete,fs,pc,ahead,meta,
>> discard,drv_data
>> # echo "meta,write" > act_mask
>> # cat act_mask
>> write,meta
>
> Nice!
>
> It would also be nice to activate trace filters for the blktrace
> tracepoints - i.e. to convert them to the TRACE_EVENT() enumeration
> format. Beyond user-space parseable field enumeration and filter,
> that will also speed up tracing and allows binary record streaming
> with splice() zero-copy.
>
> Via that "act_mask" can become a filterable field and you can define
> expressions to filter. All other fields like sector become in-kernel
> filterable too.
>
> See a few examples here:
>
> include/trace/irq_event_types.h
> include/trace/sched_event_types.h
>
> Note, blktrace tracepoints are certainly more complex than the
> tracepoints above - you can embedd C statements in TRACE_EVENT()'s
> TP_fast_assign() bit.
>
> It was specifically designed to allow the support of blktrace
> tracepoints, so you can embedd the blk_pc_request() and disk_devt()
> translation for the block_rq_complete event or
> block_rq_requeue/issue tracepoints.
>

I'll look into this when I have time. :)