On Fri, 2017-05-26 at 16:38 +0200, Hannes Reinecke wrote:
> Hmm. I wonder if this is going to work as intended; 'busy' might be
> changing rapidly, so the busy_iter might be giving us unintended results.
> Have you checked?

Hello Hannes,

The intention is that this attribute is used by developers to figure out which
requests got stuck if one or more requests got stuck. Querying this attribute a
few times should help to see whether the requests shown are requests that
complete quickly or whether these are requests that got stuck. The output I
collected while testing this debugfs attribute looks fine to me:

# while true; do (cd /sys/kernel/debug/block && for f in */*/busy; do [ -e $f ] 
&& grep -aH '' $f; done); done
[ ... ]
sde/hctx0/busy:ffff880267dcba00 {.op=WRITE, 
.cmd_flags=FAILFAST_TRANSPORT|SYNC|META|PRIO|NOMERGE, 
.rq_flags=MQ_INFLIGHT|DONTPREP|IO_STAT|STATS, .atomic_flags=STARTED, .tag=19, 
.internal_tag=-1,
.cmd=Write(10) 2a 00 00 07 92 38 00 00 08 00}
sde/hctx0/busy:ffff880267dcd140 {.op=WRITE, 
.cmd_flags=FAILFAST_TRANSPORT|SYNC|META|PRIO|NOMERGE, 
.rq_flags=MQ_INFLIGHT|DONTPREP|IO_STAT|STATS, .atomic_flags=STARTED, .tag=20, 
.internal_tag=-1,
.cmd=Write(10) 2a 00 00 07 92 80 00 00 08 00}
[ ... ]
sr0/hctx0/busy:ffff88046797d140 {.op=SCSI_IN, .cmd_flags=, 
.rq_flags=DONTPREP|PREEMPT|COPY_USER|QUIET|IO_STAT|STATS, 
.atomic_flags=STARTED, .tag=20, .internal_tag=-1, .cmd=Get event status
notification 4a 01 00 00 10 00 00 00 08 00}
[ ... ]

Bart.

Reply via email to