Messages in this thread | | | Date | Tue, 24 Mar 2009 17:01:26 +0800 | From | Li Zefan <> | Subject | Re: [PATCH 5/5] blktrace: print human-readable act_mask |
| |
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. :)
| |