[PATCH V7 1/1] nvme: allow passthru cmd error logging

Chaitanya Kulkarni chaitanyak at nvidia.com
Wed Dec 6 22:33:03 PST 2023


Christoph,

On 12/5/23 02:01, Sagi Grimberg wrote:
>
>> Sagi/Christoph,
>>
>> On 9/19/23 09:02, alan.adamson at oracle.com wrote:
>>>
>>> On 9/12/23 4:39 AM, Sagi Grimberg wrote:
>>>>
>>>>>>>        if (req->q->queuedata)
>>>>>>>            req->timeout = NVME_IO_TIMEOUT;
>>>>>>> -    else /* no queuedata implies admin queue */
>>>>>>> +    else { /* no queuedata implies admin queue */
>>>>>>>            req->timeout = NVME_ADMIN_TIMEOUT;
>>>>>>> +        if (!nr->ctrl->passthru_err_log_enabled)
>>>>>>> +            req->rq_flags |= RQF_QUIET;
>>>>>>> +    }
>>>>>>>        /* passthru commands should let the driver set the SGL 
>>>>>>> flags */
>>>>>>>        cmd->common.flags &= ~NVME_CMD_SGL_ALL;
>>>>>>> @@ -687,8 +720,7 @@ void nvme_init_request(struct request *req,
>>>>>>> struct nvme_command *cmd)
>>>>>>>        if (req->mq_hctx->type == HCTX_TYPE_POLL)
>>>>>>>            req->cmd_flags |= REQ_POLLED;
>>>>>>>        nvme_clear_nvme_request(req);
>>>>>>> -    req->rq_flags |= RQF_QUIET;
>>>>>> Isn't thisw now dropping the RQF_QUIET flag I/O commands that we
>>>>>> previously set?  While we're at it, why do we only allow passthrough
>>>>>> error logging for admin commands anyway?
>>>>>
>>>>> While working through this, we decided that for IO commands
>>>>> (passthrough or not) error logging would always be enabled. For
>>>>> passthrough admin commands, error logging could be enabled or 
>>>>> disabled.
>>>>
>>>> Why shouldn't it apply to both?
>>>
>>> Currently, we have /sys/class/nvme/nvme0/passthru_err_log_enabled that
>>> enables/disables logging for admin command only.  Are you saying it
>>> should also enable/disable for IO commands across all namespaces or
>>> should there also be:
>>>
>>> /sys/class/nvme/nvme0/nvme0n1/passthru_err_log_enabled
>>>
>>> /sys/class/nvme/nvme0/nvme0n2/passthru_err_log_enabled
>>>
>>> .
>>>
>>> .
>>>
>>> Alan
>>>
>>>
>>>
>>
>> Can we please have resolution on this patch so we can merge it ?
>
> I'm in favor of the latter, IO commands enabled per ns, and admin
> commands in the controller level.

are you okay with above approach ?

-ck




More information about the Linux-nvme mailing list