Thread (4 messages) 4 messages, 2 authors, 2023-03-10

Re: [PATCH v4] scsi: ufs: core: Add trace event for MCQ

From: Ziqi Chen <hidden>
Date: 2023-03-09 02:56:15
Also in: linux-scsi, lkml

Possibly related (same subject, not in this thread)


On 3/7/2023 11:47 PM, Bart Van Assche wrote:
On 3/6/23 21:53, Ziqi Chen wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help