lkml.org 
[lkml]   [2023]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v4] scsi: ufs: core: Add trace event for MCQ
From


On 3/7/2023 11:47 PM, Bart Van Assche wrote:
> On 3/6/23 21:53, Ziqi Chen wrote:
>> You are right,  users may hate it if the trace events for legacy mode
>> and MCQ mode are different. But if I merge them into one event, it
>> will print much invalid information as we can not add if-else into
>> TP_printk().
>>
>> (For example:  in SDB legacy mode, you can see such invalid prints "
>> hqid = 0 , sqt= 0, cqh=0, cqt = 0")
>>
>> Users may hate these invalid information.
>>
>> Anyway, I have made new version that merge 2 mode into one event, but
>> are you sure we really need to use this way? if yes , I can push new
>> version here.
>>
>> Or, could you give some suggestions if you have better way.
>>
>> Below is a piece of new version code , you can preview.
>>
>>      TP_fast_assign(
>>          __assign_str(dev_name, dev_name);
>>          __entry->str_t = str_t;
>>          __entry->tag = tag;
>>          __entry->doorbell = doorbell;
>>          __entry->hwq_id = hwq? hwq->id: 0;
>>          __entry->sq_tail = hwq? hwq->sq_tail_slot: 0;
>>          __entry->cq_head = hwq? hwq->cq_head_slot: 0;
>>          __entry->cq_tail = hwq? hwq->cq_tail_slot: 0;
>>          __entry->transfer_len = transfer_len;
>>          __entry->lba = lba;
>>          __entry->intr = intr;
>>          __entry->opcode = opcode;
>>          __entry->group_id = group_id;
>>      ),
>>
>>      TP_printk(
>>          "%s: %s: tag: %u, DB: 0x%x, size: %d, IS: %u, LBA: %llu,
>> opcode: 0x%x (%s),"
>>          "group_id: 0x%x, hqid: %d, sqt: %d, cqh: %d, cqt: %d",
>>          show_ufs_cmd_trace_str(__entry->str_t), __get_str(dev_name),
>> __entry->tag,
>>          __entry->doorbell, __entry->transfer_len, __entry->intr,
>> __entry->lba,
>>          (u32)__entry->opcode, str_opcode(__entry->opcode),
>> (u32)__entry->group_id,
>>          __entry->hwq_id,__entry->sq_tail, __entry->cq_head,
>> __entry->cq_tail
>>      )
>
> Hi Ziqi,
>
> Please reply below the original e-mail instead of above. This is
> expected on Linux kernel mailing lists.
>
> Regarding your question: I propose to leave out the sq_tail, cq_head and
> cq_tail information. That information may be useful for hardware
> developers but is not useful for other users of the Linux kernel. So the
> only piece of information that is left that is MCQ-specific is the
> hardware queue index. I expect that users will be fine to see that
> information in trace events.
>
> How about reporting hardware queue index -1 for legacy mode instead of
> 0? That will allow users to tell the difference between legacy mode and
> MCQ mode from the trace events.
>
> Thanks,
>
> Bart.

Hi Bart,

Thanks for you suggestion. But the member hwq->id is an Unsigned
integer. if you want to identify SDB mode and MCQ mode, using "0" is
enough, Or how about add string such as below?

ufshcd_command: MCQ: complete_rsp: 1d84000.ufshc: tag: 14, DB: 0x0,
size: 32768, IS: 0, LBA: 5979448,opcode: 0x2a (WRITE_10),group_id: 0x0,
hqid: 2

Ziqi
>

\
 
 \ /
  Last update: 2023-03-27 00:51    [W:0.064 / U:2.800 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site