Linux-NVME Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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
  2026-04-24 13:36       ` Christoph Hellwig
  0 siblings, 1 reply; 7+ 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] 7+ messages in thread

* Re: [PATCH v2 2/2] nvme: initialize known effects to set ns_mgmt NCC and ns_attach NIC
  2026-04-23 17:51     ` Tokunori Ikegami
@ 2026-04-24 13:36       ` Christoph Hellwig
  2026-04-25 13:16         ` Tokunori Ikegami
  0 siblings, 1 reply; 7+ messages in thread
From: Christoph Hellwig @ 2026-04-24 13:36 UTC (permalink / raw)
  To: Tokunori Ikegami; +Cc: Christoph Hellwig, linux-nvme

On Fri, Apr 24, 2026 at 02:51:48AM +0900, Tokunori Ikegami wrote:
> 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.

Please document this very clearly in the commit message, and maybe also
in code comments.

> 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>

I don't really understand how this is related.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 2/2] nvme: initialize known effects to set ns_mgmt NCC and ns_attach NIC
  2026-04-24 13:36       ` Christoph Hellwig
@ 2026-04-25 13:16         ` Tokunori Ikegami
  0 siblings, 0 replies; 7+ messages in thread
From: Tokunori Ikegami @ 2026-04-25 13:16 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: linux-nvme

On 2026/04/24 22:36, Christoph Hellwig wrote:
> Please document this very clearly in the commit message, and maybe also
> in code comments.
Just send v3 patches fixed for the comment. Thank you.
> I don't really understand how this is related.
Actually not related this to the nvme-cli issue as a result.
(The issue was failed ns_attach on the test.
Then at first seemed caused by the ns_attach delay from the test log for me.
Also from the nvme driver implementation investigation looked the 
scan_work is possible to be delayed.
But the issue caused was found as the failure caused by the test 
environment configuration.
So the issue resolved for now but still the scan_work is possible to be 
delay I think.)



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-04-25 13:16 UTC | newest]

Thread overview: 7+ 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
2026-04-24 13:36       ` Christoph Hellwig
2026-04-25 13:16         ` Tokunori Ikegami

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox