Hi Li, From: Li Zefan <lizf@xxxxxxxxxxxxxx> Subject: Re: [RFC PATCH dm-ioband] Added in blktrace msgs for dm-ioband Date: Wed, 13 May 2009 08:56:13 +0800 > >>>>>> Thanks for your suggestion. I'll use TRACE_EVENT instead. > >>>>> blk_add_trace_msg() supports both blktrace and tracepoints. I can > >>>>> get messages from dm-ioband through debugfs. Could you expain why > >>>>> should we use TRACE_EVENT instead? > >>>>> > >>>> Actually blk_add_trace_msg() has nothing to do with tracepoints.. > >>>> > >>>> If we use blk_add_trace_msg() is dm, we can use it in md, various block > >>>> drivers and even ext4. So the right thing is, if a subsystem wants to add > >>>> trace facility, it should use tracepoints/TRACE_EVENT. > >>>> > >>>> With TRACE_EVENT, you can get output through debugfs too, and it can be used > >>>> together with blktrace: > >>>> > >>>> # echo 1 > /sys/block/dm/trace/enable > >>>> # echo blk > /debugfs/tracing/current_tracer > >>>> # echo dm-ioband-foo > /debugfs/tracing/tracing/set_event > >>>> # cat /deubgfs/tracing/trace_pipe > >>>> > >>>> And you can enable dm-ioband-foo while disabling dm-ioband-bar, and you can > >>>> use filter feature too. > >>> Thanks for explaining. > >>> The base kernel of current dm tree (2.6.30-rc4) has not supported > >>> dm-device tracing yet. I'll consider using TRACE_EVENT when the base > >>> kernel supports dm-device tracing. > >>> > >> I think we don't have any plan on dm-device tracing support, do we? And you > >> don't need that. > >> > >> I downloaded dm-ioband 1.10.4, and applied it to latest tip-tree, and made > >> a patch to convert those blktrace msgs to trace events. > >> > >> # ls /debug/tracing/events/dm-ioband > >> enable ioband_endio ioband_issue_list ioband_urgent_bio > >> filter ioband_hold_bio ioband_make_request > >> # echo 1 /debug/tracing/events/dm-ioband/enable > >> # echo blk /debug/tracing/current_tracer > >> ... > > > > Is the following line unnecessary in the latest tip-tree? > > > > # echo 1 > /sys/block/dm/trace/enable > > > > Yes, still needed. I was not giving a complete demonstration. ;) > > > How to enable/disable tracing on each device? > > echo 1 > /sys/block/dm-0/trace/enable > echo 1 > /sys/block/dm-1/trace/enable > > Or use filter facility: > > echo "dev == $(( (ma0 << 20) | mi0 ))" > /debug/tracing/events/dm-ioband/filter > > This will filter out all events generated from dm-1, leaving those from dm-0. > Thanks for further explaining. I'll include your patche into the next release. Thanks, Ryo Tsuruta -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel