[PATCH] nvme-tcp: add additional info for nvme_tcp_timeout log
Sagi Grimberg
sagi at grimberg.me
Mon Nov 21 06:34:07 PST 2022
> Hi Sagi.
>
> The previous msg:
> nvme nvme0: queue 0: timeout request 0x0 type 4
>
> We found it more useful to have also:
> cmd opc that was timed out
That is fine
> command id that was timed out
That is the lower 12 bits of the tag.
You can introduce a generic helper to extract genctr+cid from a tag.
> The timeout value for this specific io - in case of a timeout - it make sense to know the timeout value itself
> more info about the blk rq - such as:
> a. time of a request that was allocated for the IO that was timed out
> b. time of the timed out IO that was submitted to the device
I don't understand what added value that is providing you.
An IO timeout is usually (if not universally) >> the delta from tag
allocation to submission.
This is debug information, and in my mind the proper place for this type
of debug is blktrace.
> The log is already exists, why not provide additional info that can help with io timeouts debug?
We can say that about a lot of things.
There is negative value from spam information in the log which is debug
in nature and is separate from the normal error/warn log information.
If this information existed in the form of trace points would that solve
your problem? Keith had a patch for nvme-tcp trace points, which can
provide this type of information.
More information about the Linux-nvme
mailing list