From: Nilay Shroff <nilay@linux.ibm.com>
To: Hannes Reinecke <hare@suse.de>, Daniel Wagner <dwagner@suse.de>
Cc: linux-nvme@lists.infradead.org, kbusch@kernel.org, gjoyce@ibm.com
Subject: Re: [PATCHv2 2/4] nvme: extend show-topology command to add support for multipath
Date: Mon, 1 Sep 2025 14:51:09 +0530 [thread overview]
Message-ID: <8de91a15-3d89-4801-911a-00e45bb6a2f1@linux.ibm.com> (raw)
In-Reply-To: <180fd47e-ffe6-4ef1-986e-5885afc34c01@linux.ibm.com>
Hi Daniel and Hannes,
Just a gentle ping on this one...
Do you agree with the reasoning I suggested for filtering
columns based on iopolicy? If we all have agreement then
I'd send out the next patchset with appropriate change.
Thanks,
--Nilay
On 8/20/25 5:29 PM, Nilay Shroff wrote:
>
>
> On 8/20/25 2:00 PM, Hannes Reinecke wrote:
>> On 8/20/25 10:17, Daniel Wagner wrote:
>>> On Tue, Aug 19, 2025 at 08:15:09AM +0200, Hannes Reinecke wrote:
>>>>> Okay makes sense, so we'd print <numa-node> and exclude <queue-depth> if iopolicy
>>>>> is numa. For 'queue-depth' iopolicy, we'd print <queue-depth> and exclude <numa-node>.
>>>>> And for 'round-robin' iopolicy, we'd neither print <numa-node> nor <queue-depth>.
>>>>> I'll update this in the next patch.
>>>>>
>>>> Hmm. I'd rather have _some_ value for 'round-robin', too, as otherwise
>>>> the number of fields will be different (and making parsing harder).
>>>
>>> What type of parser do you mean, a carbon based one or a computer? I
>>> strongly recommend to use the JSON output for the later.
>>>
>>> I would really prefer that the default stdout is easy for a human to
>>> read not screen scrappers.
>>>
>> That was my intention, too. And my prime objection was to have a
>> sequence of raw numbers, and requiring the user to figure out what
>> these numbers are for.
>>
> Yes, you are right — those sequences of raw numbers did look confusing,
> and that’s why Daniel suggested adding annotations. However, I found it
> difficult to annotate the numbers in the tree-style output of show-topology.
> To address this, we decided to also support printing topology in a tabular
> format, which is much easier for humans to interpret.
>
> As you can see in the last patch of this series (4/4), we now support showing
> the topology in a tabular format (when the user selects it). For reference:
>
> # ./nvme show-topology -o tabular
> nvme-subsys1 - NQN=nvmet_subsystem
> hostnqn=nqn.2014-08.org.nvmexpress:uuid:779c3f46-2bb7-4e82-8f46-2b3e795e54f6
> iopolicy=numa
>
> NSHead NSID NSPath ANAState Nodes Qdepth Controller TrType Address State
> ------- ---- --------- --------- ----- ------ ---------- ------ ------------------------------------------------ -----
> nvme1n1 1 nvme1c1n1 optimized 0,1 0 nvme1 tcp traddr=127.0.0.2,trsvcid=4460,src_addr=127.0.0.1 live
> --> 1 nvme1c2n1 optimized 2,3 0 nvme2 tcp traddr=127.0.0.3,trsvcid=4460,src_addr=127.0.0.1 live
>
> So as you could see above, this format is much clearer and human-friendly.
> (Please note that above table is printed using new table APIs introduced
> in patch 3/3).
>
>> But really, I'm not sure if we should print out values from the various
>> I/O policies. For NUMA it probably makes sense, but for round-robin and
>> queue-depths the values are extremely volatile, so I wonder what benefit
>> for the user is here.
>>
>
> I think the qdepth output could still be useful. For example, if I/Os are
> queuing up on one path (perhaps because that path is slower), then the Qdepth
> value might help indicate something unusual or explain why one path is being
> chosen over another.
>
> That said, if we all agree that tools or scripts should ideally rely on JSON
> output for parsing, then the tabular output could be simplified further:
>
> - For numa iopolicy: print <Nodes> and exclude <Qdepth>.
> - For queue-depth iopolicy: print <Qdepth> and exclude <Nodes>.
> - For round-robin iopolicy: exclude both <Nodes> and <Qdepth>.
>
> Does this sound reasonable? Or do we still want to avoid printing
> <Qdepth> even for queue-depth iopolicy?
>
> Thanks,
> --Nilay
next prev parent reply other threads:[~2025-09-01 10:28 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-12 12:56 [PATCHv2 0/4] nvme-cli: enhance the visibility of multipath using show-topology command Nilay Shroff
2025-08-12 12:56 ` [PATCHv2 1/4] nvme: support <device> option in " Nilay Shroff
2025-08-18 7:12 ` Hannes Reinecke
2025-08-19 4:43 ` Nilay Shroff
2025-08-19 6:11 ` Hannes Reinecke
2025-08-12 12:56 ` [PATCHv2 2/4] nvme: extend show-topology command to add support for multipath Nilay Shroff
2025-08-18 7:22 ` Hannes Reinecke
2025-08-19 4:49 ` Nilay Shroff
2025-08-19 6:15 ` Hannes Reinecke
2025-08-19 10:31 ` Nilay Shroff
2025-08-19 11:05 ` Hannes Reinecke
2025-08-19 11:30 ` Nilay Shroff
2025-08-20 8:17 ` Daniel Wagner
2025-08-20 8:30 ` Hannes Reinecke
2025-08-20 11:59 ` Nilay Shroff
2025-09-01 9:21 ` Nilay Shroff [this message]
2025-09-01 16:36 ` Daniel Wagner
2025-09-02 6:26 ` Hannes Reinecke
2025-09-03 4:22 ` Nilay Shroff
2025-09-03 7:24 ` Daniel Wagner
2025-09-03 12:19 ` Nilay Shroff
2025-08-12 12:56 ` [PATCHv2 3/4] nvme: add common APIs for printing tabular format output Nilay Shroff
2025-08-18 7:27 ` Hannes Reinecke
2025-08-19 8:56 ` Nilay Shroff
2025-08-20 8:23 ` Daniel Wagner
2025-08-12 12:56 ` [PATCHv2 4/4] nvme: add support for printing show-topology in tabular form Nilay Shroff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8de91a15-3d89-4801-911a-00e45bb6a2f1@linux.ibm.com \
--to=nilay@linux.ibm.com \
--cc=dwagner@suse.de \
--cc=gjoyce@ibm.com \
--cc=hare@suse.de \
--cc=kbusch@kernel.org \
--cc=linux-nvme@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.