2023-06-13 18:09:08

by Breno Leitao

[permalink] [raw]
Subject: [PATCH] nvme: Print capabilities changes just once

This current dev_info() could be very verbose and being printed very
frequently depending on some userspace application sending some specific
commands.

Let's turn it into a dev_info_once(), since it is not useful to know
about it all the time.

Signed-off-by: Breno Leitao <[email protected]>
---
drivers/nvme/host/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 3ec38e2b9173..459e5a84e596 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -1134,7 +1134,7 @@ void nvme_passthru_end(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u32 effects,
mutex_unlock(&ctrl->scan_lock);
}
if (effects & NVME_CMD_EFFECTS_CCC) {
- dev_info(ctrl->device,
+ dev_info_once(ctrl->device,
"controller capabilities changed, reset may be required to take effect.\n");
}
if (effects & (NVME_CMD_EFFECTS_NIC | NVME_CMD_EFFECTS_NCC)) {
--
2.34.1



2023-06-13 22:09:09

by Keith Busch

[permalink] [raw]
Subject: Re: [PATCH] nvme: Print capabilities changes just once

On Tue, Jun 13, 2023 at 10:55:37AM -0700, Breno Leitao wrote:
> This current dev_info() could be very verbose and being printed very
> frequently depending on some userspace application sending some specific
> commands.
>
> Let's turn it into a dev_info_once(), since it is not useful to know
> about it all the time.

This looks good to me. Vendors sometimes put unnecessary effects in the
log, and spamming the same recommendation to repeated operations isn't
going to be helpful. I expect anyone who knows what they're doing can
consult the effects log directly and take appropriate action on their
own.

Reviewed-by: Keith Busch <[email protected]>

> Signed-off-by: Breno Leitao <[email protected]>
> ---
> drivers/nvme/host/core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index 3ec38e2b9173..459e5a84e596 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -1134,7 +1134,7 @@ void nvme_passthru_end(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u32 effects,
> mutex_unlock(&ctrl->scan_lock);
> }
> if (effects & NVME_CMD_EFFECTS_CCC) {
> - dev_info(ctrl->device,
> + dev_info_once(ctrl->device,
> "controller capabilities changed, reset may be required to take effect.\n");
> }
> if (effects & (NVME_CMD_EFFECTS_NIC | NVME_CMD_EFFECTS_NCC)) {
> --
> 2.34.1
>

2023-06-14 05:55:43

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] nvme: Print capabilities changes just once

On Tue, Jun 13, 2023 at 04:00:58PM -0600, Keith Busch wrote:
> On Tue, Jun 13, 2023 at 10:55:37AM -0700, Breno Leitao wrote:
> > This current dev_info() could be very verbose and being printed very
> > frequently depending on some userspace application sending some specific
> > commands.
> >
> > Let's turn it into a dev_info_once(), since it is not useful to know
> > about it all the time.
>
> This looks good to me. Vendors sometimes put unnecessary effects in the
> log, and spamming the same recommendation to repeated operations isn't
> going to be helpful. I expect anyone who knows what they're doing can
> consult the effects log directly and take appropriate action on their
> own.

Hmm, once seems very little. It might make more sense to do this
once and then skip it until the controller has been reset.