[PATCH 2/3] nvme: parse dsm command detailly when tracing

Guixin Liu kanie at linux.alibaba.com
Mon Jan 29 19:51:02 PST 2024


在 2024/1/29 19:09, Chaitanya Kulkarni 写道:
> On 1/29/24 00:22, Guixin Liu wrote:
>> Add detailed parse of dsm command to make the trace log more
>> consistent and human-readable.
>>
>> Signed-off-by: Guixin Liu <kanie at linux.alibaba.com>
>> ---
>>    drivers/nvme/host/trace.c | 8 +++++---
>>    1 file changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/nvme/host/trace.c b/drivers/nvme/host/trace.c
>> index 95572c85b22a..b383d51c1a0c 100644
>> --- a/drivers/nvme/host/trace.c
>> +++ b/drivers/nvme/host/trace.c
>> @@ -153,10 +153,12 @@ static const char *nvme_trace_read_write(struct trace_seq *p, u8 *cdw10)
>>    static const char *nvme_trace_dsm(struct trace_seq *p, u8 *cdw10)
>>    {
>>    	const char *ret = trace_seq_buffer_ptr(p);
>> +	u8 nr = cdw10[0];
>> +	u8 idr = cdw10[4] & 0x1;
>> +	u8 idw = (cdw10[4] >> 1) & 0x1;
>> +	u8 ad = (cdw10[4] >> 2) & 0x1;
>>    
>> -	trace_seq_printf(p, "nr=%u, attributes=%u",
>> -			 get_unaligned_le32(cdw10),
>> -			 get_unaligned_le32(cdw10 + 4));
>> +	trace_seq_printf(p, "nr=%u, idr=%u, idw=%u, ad=%u", nr, idr, idw, ad);
>>    	trace_seq_putc(p, 0);
>>    
>>    	return ret;
> I'm really not sure if we need to decode idw/idr as I've not seen those
> fields so far
> used by anybody maybe I'm not aware here, but can you please provide a
> usecase where
> you need these fields to be decoded ?
>
> -ck

Mostly we only use "ad" filed, but sometimes our tester will set idw/idr to

see whether any errors have been reported by our target. Well this is a

low-persuasive usecase, but I still insist it's better to follow the spec.

Best regadrs,

Guixin Liu

>
>



More information about the Linux-nvme mailing list