Re: [PATCH] scsi_debugfs: dump allocted field in more convenient format

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




11.08.2020, 02:22, "Bart Van Assche" <bvanassche@xxxxxxx>:
> On 2020-08-09 02:55, Dmitry Monakhov wrote:
>>  All request's data fields are formatted as key=val, the only exception is
>>  allocated field, which complicates parsing.
>>
>>  With that patch request looks like follows:
>>  0000000012a51451 {.op=WRITE, .cmd_flags=SYNC|IDLE, .rq_flags=STARTED|DONTPREP|ELVPRIV|IO_STAT, .state=in_flight, .tag=137, .internal_tag=188, .cmd=opcode=0x2a 2a 00 00 00 45 18 00 00 08 00, .retries=0, .result = 0x0, .flags=TAGGED|INITIALIZED|3, .timeout=30.000, .alloc_age=0.004}
>>
>>  Signed-off-by: Dmitry Monakhov <dmtrmonakhov@xxxxxxxxxxxxxx>
>>  ---
>>   drivers/scsi/scsi_debugfs.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>>  diff --git a/drivers/scsi/scsi_debugfs.c b/drivers/scsi/scsi_debugfs.c
>>  index c19ea7a..6ce22b1 100644
>>  --- a/drivers/scsi/scsi_debugfs.c
>>  +++ b/drivers/scsi/scsi_debugfs.c
>>  @@ -45,7 +45,7 @@ void scsi_show_rq(struct seq_file *m, struct request *rq)
>>                      cmd->retries, cmd->result);
>>           scsi_flags_show(m, cmd->flags, scsi_cmd_flags,
>>                           ARRAY_SIZE(scsi_cmd_flags));
>>  - seq_printf(m, ", .timeout=%d.%03d, allocated %d.%03d s ago",
>>  + seq_printf(m, ", .timeout=%d.%03d, .alloc_age=%d.%03d",
>>                      timeout_ms / 1000, timeout_ms % 1000,
>>                      alloc_ms / 1000, alloc_ms % 1000);
>>   }
>
> Hi Dmitry,
>
> These messages are intended for humans and are not intended for processing
> by any kind of software. I think the current message is easier to understand
> by a human than the new message introduced by the above patch.

Let me disagree. I try to write test for issue like  [1]
My test does random fault injection and scan  /sys/kernel/debug/block/*/*/busy for stuck requests
The object's format looks sane and well structured for parsers, the only exception is "allocated" field, see below:
  0000000012a51451 {.op=WRITE, .state=in_flight, .tag=137.... .timeout=30.000, allocated 41255.568 s ago}

All I want to do is just make it looks unified with other fields, see below:
  0000000012a51451 {.op=WRITE, .state=in_flight, .tag=137.... .timeout=30.000, .alloc_age=41255.568}

If field name 'alloc_age' is not descriptive enough please suggest me a better one. But we definitely need
to unify  it  to .NAME=VALUE format.

Footnotes:
[1]  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b554db147feea39617b533ab6bca247c91c6198a




>
> Thanks,
>
> Bart.



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux