All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 2/3] nvme: parse dsm command's attr deallocate when tracing
  2024-01-30 11:34 Guixin Liu
@ 2024-01-30 11:34 ` Guixin Liu
  0 siblings, 0 replies; 14+ messages in thread
From: Guixin Liu @ 2024-01-30 11:34 UTC (permalink / raw)
  To: kbusch, axboe, hch, sagi; +Cc: linux-nvme

Add parse of dsm command's attr deallocate to make the trace log
more consistent and human-readable.

Signed-off-by: Guixin Liu <kanie@linux.alibaba.com>
---
 drivers/nvme/host/trace.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/nvme/host/trace.c b/drivers/nvme/host/trace.c
index 95572c85b22a..4b8924abb4e1 100644
--- a/drivers/nvme/host/trace.c
+++ b/drivers/nvme/host/trace.c
@@ -153,10 +153,10 @@ 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 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, ad=%u", nr, ad);
 	trace_seq_putc(p, 0);
 
 	return ret;
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 0/3] *** nvme: add some commands tracing ***
@ 2024-01-31  9:12 Guixin Liu
  2024-01-31  9:12 ` [PATCH v2 1/3] nvme: add tracing of reservation commands Guixin Liu
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Guixin Liu @ 2024-01-31  9:12 UTC (permalink / raw)
  To: kbusch, axboe, hch, sagi; +Cc: linux-nvme

Hi guys:
    I found that there are no reservation commands tracing and some
commands's parsing aren't fit the newest NVMe spec, and aren't readble.

Changes from v1 to v2:
- Remove idr and idw parsing of dsm command.

- Remove lbafl and lbafu variables and add a comment for the lbaf
calculation in nvme_trace_admin_format_nvm().

Guixin Liu (3):
  nvme: add tracing of reservation commands
  nvme: parse dsm command's attr deallocate when tracing
  nvme: parse format command's lbafu when tracing

 drivers/nvme/host/trace.c | 73 ++++++++++++++++++++++++++++++++++++---
 1 file changed, 69 insertions(+), 4 deletions(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v2 1/3] nvme: add tracing of reservation commands
  2024-01-31  9:12 [PATCH v2 0/3] *** nvme: add some commands tracing *** Guixin Liu
@ 2024-01-31  9:12 ` Guixin Liu
  2024-01-31 12:59   ` Sagi Grimberg
  2024-01-31 17:31   ` Christoph Hellwig
  2024-01-31  9:12 ` [PATCH v2 2/3] nvme: parse dsm command's attr deallocate when tracing Guixin Liu
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 14+ messages in thread
From: Guixin Liu @ 2024-01-31  9:12 UTC (permalink / raw)
  To: kbusch, axboe, hch, sagi; +Cc: linux-nvme

Add detailed parsing of reservation commands to make the trace log
more consistent and human-readable.

Signed-off-by: Guixin Liu <kanie@linux.alibaba.com>
---
 drivers/nvme/host/trace.c | 62 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/drivers/nvme/host/trace.c b/drivers/nvme/host/trace.c
index 1c36fcedea20..95572c85b22a 100644
--- a/drivers/nvme/host/trace.c
+++ b/drivers/nvme/host/trace.c
@@ -191,6 +191,60 @@ static const char *nvme_trace_zone_mgmt_recv(struct trace_seq *p, u8 *cdw10)
 	return ret;
 }
 
+static const char *nvme_trace_resv_reg(struct trace_seq *p, u8 *cdw10)
+{
+	const char *ret = trace_seq_buffer_ptr(p);
+	u8 rrega = cdw10[0] & 0x7;
+	u8 iekey = (cdw10[0] >> 3) & 0x1;
+	u8 ptpl = (cdw10[3] >> 6) & 0x3;
+
+	trace_seq_printf(p, "rrega=%u, iekey=%u, ptpl=%u",
+			 rrega, iekey, ptpl);
+	trace_seq_putc(p, 0);
+
+	return ret;
+}
+
+static const char *nvme_trace_resv_acq(struct trace_seq *p, u8 *cdw10)
+{
+	const char *ret = trace_seq_buffer_ptr(p);
+	u8 racqa = cdw10[0] & 0x7;
+	u8 iekey = (cdw10[0] >> 3) & 0x1;
+	u8 rtype = cdw10[1];
+
+	trace_seq_printf(p, "racqa=%u, iekey=%u, rtype=%u",
+			 racqa, iekey, rtype);
+	trace_seq_putc(p, 0);
+
+	return ret;
+}
+
+static const char *nvme_trace_resv_rel(struct trace_seq *p, u8 *cdw10)
+{
+	const char *ret = trace_seq_buffer_ptr(p);
+	u8 rrela = cdw10[0] & 0x7;
+	u8 iekey = (cdw10[0] >> 3) & 0x1;
+	u8 rtype = cdw10[1];
+
+	trace_seq_printf(p, "rrela=%u, iekey=%u, rtype=%u",
+			 rrela, iekey, rtype);
+	trace_seq_putc(p, 0);
+
+	return ret;
+}
+
+static const char *nvme_trace_resv_report(struct trace_seq *p, u8 *cdw10)
+{
+	const char *ret = trace_seq_buffer_ptr(p);
+	u32 numd = get_unaligned_le32(cdw10);
+	u8 eds = cdw10[4] & 0x1;
+
+	trace_seq_printf(p, "numd=%u, eds=%u", numd, eds);
+	trace_seq_putc(p, 0);
+
+	return ret;
+}
+
 static const char *nvme_trace_common(struct trace_seq *p, u8 *cdw10)
 {
 	const char *ret = trace_seq_buffer_ptr(p);
@@ -243,6 +297,14 @@ const char *nvme_trace_parse_nvm_cmd(struct trace_seq *p,
 		return nvme_trace_zone_mgmt_send(p, cdw10);
 	case nvme_cmd_zone_mgmt_recv:
 		return nvme_trace_zone_mgmt_recv(p, cdw10);
+	case nvme_cmd_resv_register:
+		return nvme_trace_resv_reg(p, cdw10);
+	case nvme_cmd_resv_acquire:
+		return nvme_trace_resv_acq(p, cdw10);
+	case nvme_cmd_resv_release:
+		return nvme_trace_resv_rel(p, cdw10);
+	case nvme_cmd_resv_report:
+		return nvme_trace_resv_report(p, cdw10);
 	default:
 		return nvme_trace_common(p, cdw10);
 	}
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 2/3] nvme: parse dsm command's attr deallocate when tracing
  2024-01-31  9:12 [PATCH v2 0/3] *** nvme: add some commands tracing *** Guixin Liu
  2024-01-31  9:12 ` [PATCH v2 1/3] nvme: add tracing of reservation commands Guixin Liu
@ 2024-01-31  9:12 ` Guixin Liu
  2024-01-31 12:59   ` Sagi Grimberg
  2024-01-31 17:32   ` Christoph Hellwig
  2024-01-31  9:12 ` [PATCH v2 3/3] nvme: parse format command's lbafu " Guixin Liu
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 14+ messages in thread
From: Guixin Liu @ 2024-01-31  9:12 UTC (permalink / raw)
  To: kbusch, axboe, hch, sagi; +Cc: linux-nvme

Add parse of dsm command's attr deallocate to make the trace log
more consistent and human-readable.

Signed-off-by: Guixin Liu <kanie@linux.alibaba.com>
---
 drivers/nvme/host/trace.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/nvme/host/trace.c b/drivers/nvme/host/trace.c
index 95572c85b22a..4b8924abb4e1 100644
--- a/drivers/nvme/host/trace.c
+++ b/drivers/nvme/host/trace.c
@@ -153,10 +153,10 @@ 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 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, ad=%u", nr, ad);
 	trace_seq_putc(p, 0);
 
 	return ret;
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 3/3] nvme: parse format command's lbafu when tracing
  2024-01-31  9:12 [PATCH v2 0/3] *** nvme: add some commands tracing *** Guixin Liu
  2024-01-31  9:12 ` [PATCH v2 1/3] nvme: add tracing of reservation commands Guixin Liu
  2024-01-31  9:12 ` [PATCH v2 2/3] nvme: parse dsm command's attr deallocate when tracing Guixin Liu
@ 2024-01-31  9:12 ` Guixin Liu
  2024-01-31 17:32   ` Christoph Hellwig
  2024-01-31 23:08 ` [PATCH v2 0/3] *** nvme: add some commands tracing *** Chaitanya Kulkarni
  2024-03-13  3:51 ` Guixin Liu
  4 siblings, 1 reply; 14+ messages in thread
From: Guixin Liu @ 2024-01-31  9:12 UTC (permalink / raw)
  To: kbusch, axboe, hch, sagi; +Cc: linux-nvme

Add the parse of format command's lbafu to calculate lbaf.

Signed-off-by: Guixin Liu <kanie@linux.alibaba.com>
---
 drivers/nvme/host/trace.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/nvme/host/trace.c b/drivers/nvme/host/trace.c
index 4b8924abb4e1..7b752ee47f36 100644
--- a/drivers/nvme/host/trace.c
+++ b/drivers/nvme/host/trace.c
@@ -119,7 +119,10 @@ static const char *nvme_trace_get_lba_status(struct trace_seq *p,
 static const char *nvme_trace_admin_format_nvm(struct trace_seq *p, u8 *cdw10)
 {
 	const char *ret = trace_seq_buffer_ptr(p);
-	u8 lbaf = cdw10[0] & 0xF;
+	/*
+	 * lbafu(bit 13:12) is already in the upper 4 bits, lbafl: bit 03:00.
+	 */
+	u8 lbaf = (cdw10[1] & 0x30) | (cdw10[0] & 0xF);
 	u8 mset = (cdw10[0] >> 4) & 0x1;
 	u8 pi = (cdw10[0] >> 5) & 0x7;
 	u8 pil = cdw10[1] & 0x1;
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 1/3] nvme: add tracing of reservation commands
  2024-01-31  9:12 ` [PATCH v2 1/3] nvme: add tracing of reservation commands Guixin Liu
@ 2024-01-31 12:59   ` Sagi Grimberg
  2024-01-31 17:31   ` Christoph Hellwig
  1 sibling, 0 replies; 14+ messages in thread
From: Sagi Grimberg @ 2024-01-31 12:59 UTC (permalink / raw)
  To: Guixin Liu, kbusch, axboe, hch; +Cc: linux-nvme

Reviewed-by: Sagi Grimberg <sagi@grimberg.me>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 2/3] nvme: parse dsm command's attr deallocate when tracing
  2024-01-31  9:12 ` [PATCH v2 2/3] nvme: parse dsm command's attr deallocate when tracing Guixin Liu
@ 2024-01-31 12:59   ` Sagi Grimberg
  2024-01-31 17:32   ` Christoph Hellwig
  1 sibling, 0 replies; 14+ messages in thread
From: Sagi Grimberg @ 2024-01-31 12:59 UTC (permalink / raw)
  To: Guixin Liu, kbusch, axboe, hch; +Cc: linux-nvme

Reviewed-by: Sagi Grimberg <sagi@grimberg.me>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 1/3] nvme: add tracing of reservation commands
  2024-01-31  9:12 ` [PATCH v2 1/3] nvme: add tracing of reservation commands Guixin Liu
  2024-01-31 12:59   ` Sagi Grimberg
@ 2024-01-31 17:31   ` Christoph Hellwig
  1 sibling, 0 replies; 14+ messages in thread
From: Christoph Hellwig @ 2024-01-31 17:31 UTC (permalink / raw)
  To: Guixin Liu; +Cc: kbusch, axboe, hch, sagi, linux-nvme

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 2/3] nvme: parse dsm command's attr deallocate when tracing
  2024-01-31  9:12 ` [PATCH v2 2/3] nvme: parse dsm command's attr deallocate when tracing Guixin Liu
  2024-01-31 12:59   ` Sagi Grimberg
@ 2024-01-31 17:32   ` Christoph Hellwig
  1 sibling, 0 replies; 14+ messages in thread
From: Christoph Hellwig @ 2024-01-31 17:32 UTC (permalink / raw)
  To: Guixin Liu; +Cc: kbusch, axboe, hch, sagi, linux-nvme

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 3/3] nvme: parse format command's lbafu when tracing
  2024-01-31  9:12 ` [PATCH v2 3/3] nvme: parse format command's lbafu " Guixin Liu
@ 2024-01-31 17:32   ` Christoph Hellwig
  0 siblings, 0 replies; 14+ messages in thread
From: Christoph Hellwig @ 2024-01-31 17:32 UTC (permalink / raw)
  To: Guixin Liu; +Cc: kbusch, axboe, hch, sagi, linux-nvme

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/3] *** nvme: add some commands tracing ***
  2024-01-31  9:12 [PATCH v2 0/3] *** nvme: add some commands tracing *** Guixin Liu
                   ` (2 preceding siblings ...)
  2024-01-31  9:12 ` [PATCH v2 3/3] nvme: parse format command's lbafu " Guixin Liu
@ 2024-01-31 23:08 ` Chaitanya Kulkarni
  2024-02-01  2:03   ` Guixin Liu
  2024-03-13  3:51 ` Guixin Liu
  4 siblings, 1 reply; 14+ messages in thread
From: Chaitanya Kulkarni @ 2024-01-31 23:08 UTC (permalink / raw)
  To: Guixin Liu
  Cc: linux-nvme@lists.infradead.org, kbusch@kernel.org,
	sagi@grimberg.me, axboe@kernel.dk, hch@lst.de

Guixin,

On 1/31/24 01:12, Guixin Liu wrote:
> Hi guys:
>      I found that there are no reservation commands tracing and some
> commands's parsing aren't fit the newest NVMe spec, and aren't readble.
>
> Changes from v1 to v2:
> - Remove idr and idw parsing of dsm command.
>
> - Remove lbafl and lbafu variables and add a comment for the lbaf
> calculation in nvme_trace_admin_format_nvm().
>
> Guixin Liu (3):
>    nvme: add tracing of reservation commands
>    nvme: parse dsm command's attr deallocate when tracing
>    nvme: parse format command's lbafu when tracing
>
>   drivers/nvme/host/trace.c | 73 ++++++++++++++++++++++++++++++++++++---
>   1 file changed, 69 insertions(+), 4 deletions(-)
>

One suggestion can you please not add *** in the subject line ? that
is not a common practice on the mailing list.

This series addresses the comments posted in the last version.
Looks good, for the entire series :-

Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>

-ck



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/3] *** nvme: add some commands tracing ***
  2024-01-31 23:08 ` [PATCH v2 0/3] *** nvme: add some commands tracing *** Chaitanya Kulkarni
@ 2024-02-01  2:03   ` Guixin Liu
  0 siblings, 0 replies; 14+ messages in thread
From: Guixin Liu @ 2024-02-01  2:03 UTC (permalink / raw)
  To: Chaitanya Kulkarni
  Cc: linux-nvme@lists.infradead.org, kbusch@kernel.org,
	sagi@grimberg.me, axboe@kernel.dk, hch@lst.de


在 2024/2/1 07:08, Chaitanya Kulkarni 写道:
> Guixin,
>
> On 1/31/24 01:12, Guixin Liu wrote:
>> Hi guys:
>>       I found that there are no reservation commands tracing and some
>> commands's parsing aren't fit the newest NVMe spec, and aren't readble.
>>
>> Changes from v1 to v2:
>> - Remove idr and idw parsing of dsm command.
>>
>> - Remove lbafl and lbafu variables and add a comment for the lbaf
>> calculation in nvme_trace_admin_format_nvm().
>>
>> Guixin Liu (3):
>>     nvme: add tracing of reservation commands
>>     nvme: parse dsm command's attr deallocate when tracing
>>     nvme: parse format command's lbafu when tracing
>>
>>    drivers/nvme/host/trace.c | 73 ++++++++++++++++++++++++++++++++++++---
>>    1 file changed, 69 insertions(+), 4 deletions(-)
>>
> One suggestion can you please not add *** in the subject line ? that
> is not a common practice on the mailing list.
>
> This series addresses the comments posted in the last version.
> Looks good, for the entire series :-
>
> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
>
> -ck

Oh, Sorry, I dont notice that, just change the "SUBJECT HERE" of

cover-letter, I will pay attention of that.

Best regards,

Guixin Liu

>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/3] *** nvme: add some commands tracing ***
  2024-01-31  9:12 [PATCH v2 0/3] *** nvme: add some commands tracing *** Guixin Liu
                   ` (3 preceding siblings ...)
  2024-01-31 23:08 ` [PATCH v2 0/3] *** nvme: add some commands tracing *** Chaitanya Kulkarni
@ 2024-03-13  3:51 ` Guixin Liu
  2024-03-14 18:41   ` Keith Busch
  4 siblings, 1 reply; 14+ messages in thread
From: Guixin Liu @ 2024-03-13  3:51 UTC (permalink / raw)
  To: kbusch, axboe, hch, sagi; +Cc: linux-nvme

Hi Keith,

This series of patches has not been combined yet, could you please

take a look?

Best regards,

Guixin Liu

在 2024/1/31 17:12, Guixin Liu 写道:
> Hi guys:
>      I found that there are no reservation commands tracing and some
> commands's parsing aren't fit the newest NVMe spec, and aren't readble.
>
> Changes from v1 to v2:
> - Remove idr and idw parsing of dsm command.
>
> - Remove lbafl and lbafu variables and add a comment for the lbaf
> calculation in nvme_trace_admin_format_nvm().
>
> Guixin Liu (3):
>    nvme: add tracing of reservation commands
>    nvme: parse dsm command's attr deallocate when tracing
>    nvme: parse format command's lbafu when tracing
>
>   drivers/nvme/host/trace.c | 73 ++++++++++++++++++++++++++++++++++++---
>   1 file changed, 69 insertions(+), 4 deletions(-)
>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/3] *** nvme: add some commands tracing ***
  2024-03-13  3:51 ` Guixin Liu
@ 2024-03-14 18:41   ` Keith Busch
  0 siblings, 0 replies; 14+ messages in thread
From: Keith Busch @ 2024-03-14 18:41 UTC (permalink / raw)
  To: Guixin Liu; +Cc: axboe, hch, sagi, linux-nvme

On Wed, Mar 13, 2024 at 11:51:49AM +0800, Guixin Liu wrote:
> Hi Keith,
> 
> This series of patches has not been combined yet, could you please
> 
> take a look?

Added to nvme-6.9, thanks.


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2024-03-14 18:42 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-31  9:12 [PATCH v2 0/3] *** nvme: add some commands tracing *** Guixin Liu
2024-01-31  9:12 ` [PATCH v2 1/3] nvme: add tracing of reservation commands Guixin Liu
2024-01-31 12:59   ` Sagi Grimberg
2024-01-31 17:31   ` Christoph Hellwig
2024-01-31  9:12 ` [PATCH v2 2/3] nvme: parse dsm command's attr deallocate when tracing Guixin Liu
2024-01-31 12:59   ` Sagi Grimberg
2024-01-31 17:32   ` Christoph Hellwig
2024-01-31  9:12 ` [PATCH v2 3/3] nvme: parse format command's lbafu " Guixin Liu
2024-01-31 17:32   ` Christoph Hellwig
2024-01-31 23:08 ` [PATCH v2 0/3] *** nvme: add some commands tracing *** Chaitanya Kulkarni
2024-02-01  2:03   ` Guixin Liu
2024-03-13  3:51 ` Guixin Liu
2024-03-14 18:41   ` Keith Busch
  -- strict thread matches above, loose matches on Subject: below --
2024-01-30 11:34 Guixin Liu
2024-01-30 11:34 ` [PATCH v2 2/3] nvme: parse dsm command's attr deallocate when tracing Guixin Liu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.