* [PATCH v2 0/2] scan_work improvement @ 2026-04-22 14:11 Tokunori Ikegami 2026-04-22 14:11 ` [PATCH v2 1/2] nvme: delete unnecessary empty lines Tokunori Ikegami 2026-04-22 14:11 ` [PATCH v2 2/2] nvme: initialize known effects to set ns_mgmt NCC and ns_attach NIC Tokunori Ikegami 0 siblings, 2 replies; 5+ messages in thread From: Tokunori Ikegami @ 2026-04-22 14:11 UTC (permalink / raw) To: Christoph Hellwig; +Cc: linux-nvme, Tokunori Ikegami By the scan_work ns_list is scanned then updated to latest NS state. For the ns_attach and ns_mgmt commands ns_list update needed always. Then initialize known effects to set ns_mgmt NCC and ns_attach NIC. Tokunori Ikegami (2): nvme: delete unnecessary empty lines nvme: initialize known effects to set ns_mgmt NCC and ns_attach NIC drivers/nvme/host/apple.c | 3 +-- drivers/nvme/host/core.c | 9 ++++----- drivers/nvme/host/ioctl.c | 1 - 3 files changed, 5 insertions(+), 8 deletions(-) -- 2.51.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/2] nvme: delete unnecessary empty lines 2026-04-22 14:11 [PATCH v2 0/2] scan_work improvement Tokunori Ikegami @ 2026-04-22 14:11 ` Tokunori Ikegami 2026-04-22 14:11 ` [PATCH v2 2/2] nvme: initialize known effects to set ns_mgmt NCC and ns_attach NIC Tokunori Ikegami 1 sibling, 0 replies; 5+ messages in thread From: Tokunori Ikegami @ 2026-04-22 14:11 UTC (permalink / raw) To: Christoph Hellwig; +Cc: linux-nvme, Tokunori Ikegami Also fix incorrect indentation errors. Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com> --- Changes since v1: - Fix the incorrect indentation for the continuation of the condition. drivers/nvme/host/apple.c | 3 +-- drivers/nvme/host/core.c | 5 +---- drivers/nvme/host/ioctl.c | 1 - 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/nvme/host/apple.c b/drivers/nvme/host/apple.c index ed61b97fde59..8e583ef05d53 100644 --- a/drivers/nvme/host/apple.c +++ b/drivers/nvme/host/apple.c @@ -1060,8 +1060,7 @@ static void apple_nvme_reset_work(struct work_struct *work) * or the previous stage shut it down cleanly. */ if (!(readl(anv->mmio_coproc + APPLE_ANS_COPROC_CPU_CONTROL) & - APPLE_ANS_COPROC_CPU_CONTROL_RUN)) { - + APPLE_ANS_COPROC_CPU_CONTROL_RUN)) { ret = reset_control_assert(anv->reset); if (ret) goto out; diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index 1e33af94c24b..1f973d88c830 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -1774,7 +1774,6 @@ static void nvme_enable_aen(struct nvme_ctrl *ctrl) static int nvme_ns_open(struct nvme_ns *ns) { - /* should never be called due to GENHD_FL_HIDDEN */ if (WARN_ON_ONCE(nvme_ns_head_multipath(ns->head))) goto fail; @@ -1793,7 +1792,6 @@ static int nvme_ns_open(struct nvme_ns *ns) static void nvme_ns_release(struct nvme_ns *ns) { - module_put(ns->ctrl->ops->module); nvme_put_ns(ns); } @@ -4684,14 +4682,13 @@ static void nvme_async_event_work(struct work_struct *work) * The transport drivers must guarantee AER submission here is safe by * flushing ctrl async_event_work after changing the controller state * from LIVE and before freeing the admin queue. - */ + */ if (nvme_ctrl_state(ctrl) == NVME_CTRL_LIVE) ctrl->ops->submit_async_event(ctrl); } static bool nvme_ctrl_pp_status(struct nvme_ctrl *ctrl) { - u32 csts; if (ctrl->ops->reg_read32(ctrl, NVME_REG_CSTS, &csts)) diff --git a/drivers/nvme/host/ioctl.c b/drivers/nvme/host/ioctl.c index 9597a87cf05d..a5545dab70a8 100644 --- a/drivers/nvme/host/ioctl.c +++ b/drivers/nvme/host/ioctl.c @@ -638,7 +638,6 @@ long nvme_ns_chr_ioctl(struct file *file, unsigned int cmd, unsigned long arg) static int nvme_uring_cmd_checks(unsigned int issue_flags) { - /* NVMe passthrough requires big SQE/CQE support */ if ((issue_flags & (IO_URING_F_SQE128|IO_URING_F_CQE32)) != (IO_URING_F_SQE128|IO_URING_F_CQE32)) -- 2.51.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/2] nvme: initialize known effects to set ns_mgmt NCC and ns_attach NIC 2026-04-22 14:11 [PATCH v2 0/2] scan_work improvement Tokunori Ikegami 2026-04-22 14:11 ` [PATCH v2 1/2] nvme: delete unnecessary empty lines Tokunori Ikegami @ 2026-04-22 14:11 ` Tokunori Ikegami 2026-04-23 5:57 ` Christoph Hellwig 1 sibling, 1 reply; 5+ messages in thread From: Tokunori Ikegami @ 2026-04-22 14:11 UTC (permalink / raw) To: Christoph Hellwig; +Cc: linux-nvme, Tokunori Ikegami This is to make sure scan_work done for the commands. Since nvme_passthru_end called when effects set. Also scan_work is flushed when NIC or NCC effects set. Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com> --- drivers/nvme/host/core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index 1f973d88c830..1ed1fc866f3f 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -3448,8 +3448,10 @@ static int nvme_init_effects_log(struct nvme_ctrl *ctrl, static void nvme_init_known_nvm_effects(struct nvme_ctrl *ctrl) { - struct nvme_effects_log *log = ctrl->effects; + struct nvme_effects_log *log = ctrl->effects; + log->acs[nvme_admin_ns_mgmt] |= cpu_to_le32(NVME_CMD_EFFECTS_NCC); + log->acs[nvme_admin_ns_attach] |= cpu_to_le32(NVME_CMD_EFFECTS_NIC); log->acs[nvme_admin_format_nvm] |= cpu_to_le32(NVME_CMD_EFFECTS_LBCC | NVME_CMD_EFFECTS_NCC | NVME_CMD_EFFECTS_CSE_MASK); -- 2.51.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] nvme: initialize known effects to set ns_mgmt NCC and ns_attach NIC 2026-04-22 14:11 ` [PATCH v2 2/2] nvme: initialize known effects to set ns_mgmt NCC and ns_attach NIC Tokunori Ikegami @ 2026-04-23 5:57 ` Christoph Hellwig 2026-04-23 17:51 ` Tokunori Ikegami 0 siblings, 1 reply; 5+ messages in thread From: Christoph Hellwig @ 2026-04-23 5:57 UTC (permalink / raw) To: Tokunori Ikegami; +Cc: Christoph Hellwig, linux-nvme On Wed, Apr 22, 2026 at 11:11:48PM +0900, Tokunori Ikegami wrote: > This is to make sure scan_work done for the commands. > Since nvme_passthru_end called when effects set. > Also scan_work is flushed when NIC or NCC effects set. Can you explain the rational a little better here? Do you have a device that does not have these entries? And what problems does that cause for you for which workload? ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] nvme: initialize known effects to set ns_mgmt NCC and ns_attach NIC 2026-04-23 5:57 ` Christoph Hellwig @ 2026-04-23 17:51 ` Tokunori Ikegami 0 siblings, 0 replies; 5+ messages in thread From: Tokunori Ikegami @ 2026-04-23 17:51 UTC (permalink / raw) To: Christoph Hellwig; +Cc: linux-nvme On 2026/04/23 14:57, Christoph Hellwig wrote: > Can you explain the rational a little better here? Do you have a > device that does not have these entries? And what problems does that > cause for you for which workload? The change is just an idea to improvement the scan_work to make sure as always do scan for the ns_mgmt and ns_attach commands. Actually I do not have the device as I have only a drive these entries as NCC for ns_mgmt and NIC for ns_attach. (Another drive I have but does not support both ns_attach and ns_mgmt then does not have these entries. Also third drive broken then I can not confirm it for now.) All drives supporting ns_mgmt and ns_attach should have the entries but I do not think the driver side not needed to be depended on it as always do scan. I tried to fix the issue below with the changes at first but the issue was caused by the test script then currently resolved already. <https://github.com/linux-nvme/nvme-cli/issues/3251> So no need this change for now for the issue but in future still I think we can reduce related issue or its investigation by the change. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-04-23 17:52 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-04-22 14:11 [PATCH v2 0/2] scan_work improvement Tokunori Ikegami 2026-04-22 14:11 ` [PATCH v2 1/2] nvme: delete unnecessary empty lines Tokunori Ikegami 2026-04-22 14:11 ` [PATCH v2 2/2] nvme: initialize known effects to set ns_mgmt NCC and ns_attach NIC Tokunori Ikegami 2026-04-23 5:57 ` Christoph Hellwig 2026-04-23 17:51 ` Tokunori Ikegami
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox