All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set
@ 2017-10-18 12:38 Israel Rukshin
  2017-10-18 12:38 ` [PATCH 1/3] nvme-rdma: " Israel Rukshin
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Israel Rukshin @ 2017-10-18 12:38 UTC (permalink / raw)


Since commit b86dd81
"block: get rid of blk-mq default scheduler choice Kconfig entries",
when setting nr_hw_queues to 1 the admin tag set uses mq-deadline scheduler.
This flag is useful for admin queues that aren't used for normal IO.
We already use this flag at nvme-pci.

Israel Rukshin (3):
  nvme-rdma: Add BLK_MQ_F_NO_SCHED flag to admin tag set
  nvme-fc: Add BLK_MQ_F_NO_SCHED flag to admin tag set
  nvme-loop: Add BLK_MQ_F_NO_SCHED flag to admin tag set

 drivers/nvme/host/fc.c     | 1 +
 drivers/nvme/host/rdma.c   | 1 +
 drivers/nvme/target/loop.c | 1 +
 3 files changed, 3 insertions(+)

-- 
1.8.3.1

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

* [PATCH 1/3] nvme-rdma: Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 12:38 [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set Israel Rukshin
@ 2017-10-18 12:38 ` Israel Rukshin
  2017-10-18 15:30   ` Sagi Grimberg
  2017-10-18 12:38 ` [PATCH 2/3] nvme-fc: " Israel Rukshin
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Israel Rukshin @ 2017-10-18 12:38 UTC (permalink / raw)


Since commit b86dd81
"block: get rid of blk-mq default scheduler choice Kconfig entries",
when setting nr_hw_queues to 1 the admin tag set uses mq-deadline scheduler.
This flag is useful for admin queues that aren't used for normal IO.

Signed-off-by: Israel Rukshin <israelr at mellanox.com>
---
 drivers/nvme/host/rdma.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/nvme/host/rdma.c b/drivers/nvme/host/rdma.c
index 92a03ff..ee61b98f 100644
--- a/drivers/nvme/host/rdma.c
+++ b/drivers/nvme/host/rdma.c
@@ -699,6 +699,7 @@ static struct blk_mq_tag_set *nvme_rdma_alloc_tagset(struct nvme_ctrl *nctrl,
 		set->driver_data = ctrl;
 		set->nr_hw_queues = 1;
 		set->timeout = ADMIN_TIMEOUT;
+		set->flags = BLK_MQ_F_NO_SCHED;
 	} else {
 		set = &ctrl->tag_set;
 		memset(set, 0, sizeof(*set));
-- 
1.8.3.1

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

* [PATCH 2/3] nvme-fc: Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 12:38 [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set Israel Rukshin
  2017-10-18 12:38 ` [PATCH 1/3] nvme-rdma: " Israel Rukshin
@ 2017-10-18 12:38 ` Israel Rukshin
  2017-10-18 15:30   ` Sagi Grimberg
  2017-10-18 21:41   ` James Smart
  2017-10-18 12:38 ` [PATCH 3/3] nvme-loop: " Israel Rukshin
                   ` (3 subsequent siblings)
  5 siblings, 2 replies; 14+ messages in thread
From: Israel Rukshin @ 2017-10-18 12:38 UTC (permalink / raw)


Since commit b86dd81
"block: get rid of blk-mq default scheduler choice Kconfig entries",
when setting nr_hw_queues to 1 the admin tag set uses mq-deadline scheduler.
This flag is useful for admin queues that aren't used for normal IO.

Signed-off-by: Israel Rukshin <israelr at mellanox.com>
---
 drivers/nvme/host/fc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
index af075e9..b383735 100644
--- a/drivers/nvme/host/fc.c
+++ b/drivers/nvme/host/fc.c
@@ -2796,6 +2796,7 @@ enum {
 	ctrl->admin_tag_set.driver_data = ctrl;
 	ctrl->admin_tag_set.nr_hw_queues = 1;
 	ctrl->admin_tag_set.timeout = ADMIN_TIMEOUT;
+	ctrl->admin_tag_set.flags = BLK_MQ_F_NO_SCHED;
 
 	ret = blk_mq_alloc_tag_set(&ctrl->admin_tag_set);
 	if (ret)
-- 
1.8.3.1

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

* [PATCH 3/3] nvme-loop: Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 12:38 [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set Israel Rukshin
  2017-10-18 12:38 ` [PATCH 1/3] nvme-rdma: " Israel Rukshin
  2017-10-18 12:38 ` [PATCH 2/3] nvme-fc: " Israel Rukshin
@ 2017-10-18 12:38 ` Israel Rukshin
  2017-10-18 15:30   ` Sagi Grimberg
  2017-10-18 12:50 ` [PATCH 0/3] " Sagi Grimberg
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Israel Rukshin @ 2017-10-18 12:38 UTC (permalink / raw)


This flag is useful for admin queues that aren't used for normal IO.

Signed-off-by: Israel Rukshin <israelr at mellanox.com>
---
 drivers/nvme/target/loop.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/nvme/target/loop.c b/drivers/nvme/target/loop.c
index 92628c4..c56354e 100644
--- a/drivers/nvme/target/loop.c
+++ b/drivers/nvme/target/loop.c
@@ -365,6 +365,7 @@ static int nvme_loop_configure_admin_queue(struct nvme_loop_ctrl *ctrl)
 	ctrl->admin_tag_set.driver_data = ctrl;
 	ctrl->admin_tag_set.nr_hw_queues = 1;
 	ctrl->admin_tag_set.timeout = ADMIN_TIMEOUT;
+	ctrl->admin_tag_set.flags = BLK_MQ_F_NO_SCHED;
 
 	ctrl->queues[0].ctrl = ctrl;
 	error = nvmet_sq_init(&ctrl->queues[0].nvme_sq);
-- 
1.8.3.1

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

* [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 12:38 [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set Israel Rukshin
                   ` (2 preceding siblings ...)
  2017-10-18 12:38 ` [PATCH 3/3] nvme-loop: " Israel Rukshin
@ 2017-10-18 12:50 ` Sagi Grimberg
  2017-10-18 13:58   ` Israel Rukshin
  2017-10-18 20:05 ` [Suspected-Phishing][PATCH " Max Gurtovoy
  2017-10-19  8:59 ` [PATCH " Christoph Hellwig
  5 siblings, 1 reply; 14+ messages in thread
From: Sagi Grimberg @ 2017-10-18 12:50 UTC (permalink / raw)



> Since commit b86dd81
> "block: get rid of blk-mq default scheduler choice Kconfig entries",
> when setting nr_hw_queues to 1 the admin tag set uses mq-deadline scheduler.
> This flag is useful for admin queues that aren't used for normal IO.
> We already use this flag at nvme-pci.

How is the fact that we set a single hw queue has anything to do with
the admin tagset?

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

* [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 12:50 ` [PATCH 0/3] " Sagi Grimberg
@ 2017-10-18 13:58   ` Israel Rukshin
  2017-10-18 14:31     ` Sagi Grimberg
  0 siblings, 1 reply; 14+ messages in thread
From: Israel Rukshin @ 2017-10-18 13:58 UTC (permalink / raw)


On 10/18/2017 3:50 PM, Sagi Grimberg wrote:
>
>> Since commit b86dd81
>> "block: get rid of blk-mq default scheduler choice Kconfig entries",
>> when setting nr_hw_queues to 1 the admin tag set uses mq-deadline 
>> scheduler.
>> This flag is useful for admin queues that aren't used for normal IO.
>> We already use this flag at nvme-pci.
>
> How is the fact that we set a single hw queue has anything to do with
> the admin tagset?

Setting nr_hw_queues attribute of admin tag set to 1 influence the value
of nr_hw_queues attribute of the admin queue.
At /block/elevator.c
elevator_init() selects the scheduler according to the value of 
nr_hw_queues
attribute of the admin queue.

if (q->mq_ops) {
     if (q->nr_hw_queues == 1)
         e = elevator_get("mq-deadline", false);
     if (!e)
         return 0;
...

Israel

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

* [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 13:58   ` Israel Rukshin
@ 2017-10-18 14:31     ` Sagi Grimberg
  2017-10-18 15:16       ` Israel Rukshin
  0 siblings, 1 reply; 14+ messages in thread
From: Sagi Grimberg @ 2017-10-18 14:31 UTC (permalink / raw)



>>> Since commit b86dd81
>>> "block: get rid of blk-mq default scheduler choice Kconfig entries",
>>> when setting nr_hw_queues to 1 the admin tag set uses mq-deadline 
>>> scheduler.
>>> This flag is useful for admin queues that aren't used for normal IO.
>>> We already use this flag at nvme-pci.
>>
>> How is the fact that we set a single hw queue has anything to do with
>> the admin tagset?
> 
> Setting nr_hw_queues attribute of admin tag set to 1 influence the value
> of nr_hw_queues attribute of the admin queue.
> At /block/elevator.c
> elevator_init() selects the scheduler according to the value of 
> nr_hw_queues
> attribute of the admin queue.

Oh, I confused your meaning with setting nr_hw_queues to 1 in the IO
tagset makes a difference for the admin tagset.

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

* [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 14:31     ` Sagi Grimberg
@ 2017-10-18 15:16       ` Israel Rukshin
  0 siblings, 0 replies; 14+ messages in thread
From: Israel Rukshin @ 2017-10-18 15:16 UTC (permalink / raw)




On 10/18/2017 5:31 PM, Sagi Grimberg wrote:
>
>>>> Since commit b86dd81
>>>> "block: get rid of blk-mq default scheduler choice Kconfig entries",
>>>> when setting nr_hw_queues to 1 the admin tag set uses mq-deadline 
>>>> scheduler.
>>>> This flag is useful for admin queues that aren't used for normal IO.
>>>> We already use this flag at nvme-pci.
>>>
>>> How is the fact that we set a single hw queue has anything to do with
>>> the admin tagset?
>>
>> Setting nr_hw_queues attribute of admin tag set to 1 influence the value
>> of nr_hw_queues attribute of the admin queue.
>> At /block/elevator.c
>> elevator_init() selects the scheduler according to the value of 
>> nr_hw_queues
>> attribute of the admin queue.
>
> Oh, I confused your meaning with setting nr_hw_queues to 1 in the IO
> tagset makes a difference for the admin tagset.

No,
I just wanted to say that before commit b86dd8 there was no scheduler 
for the admin q.
After commit b86dd8 I saw that mq-deadline scheduler was selected for 
the admin q.

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

* [PATCH 1/3] nvme-rdma: Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 12:38 ` [PATCH 1/3] nvme-rdma: " Israel Rukshin
@ 2017-10-18 15:30   ` Sagi Grimberg
  0 siblings, 0 replies; 14+ messages in thread
From: Sagi Grimberg @ 2017-10-18 15:30 UTC (permalink / raw)


Reviewed-by: Sagi Grimberg <sagi at grimberg.me>

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

* [PATCH 2/3] nvme-fc: Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 12:38 ` [PATCH 2/3] nvme-fc: " Israel Rukshin
@ 2017-10-18 15:30   ` Sagi Grimberg
  2017-10-18 21:41   ` James Smart
  1 sibling, 0 replies; 14+ messages in thread
From: Sagi Grimberg @ 2017-10-18 15:30 UTC (permalink / raw)


Reviewed-by: Sagi Grimberg <sagi at grimberg.me>

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

* [PATCH 3/3] nvme-loop: Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 12:38 ` [PATCH 3/3] nvme-loop: " Israel Rukshin
@ 2017-10-18 15:30   ` Sagi Grimberg
  0 siblings, 0 replies; 14+ messages in thread
From: Sagi Grimberg @ 2017-10-18 15:30 UTC (permalink / raw)


Reviewed-by: Sagi Grimberg <sagi at grimberg.me>

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

* [Suspected-Phishing][PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 12:38 [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set Israel Rukshin
                   ` (3 preceding siblings ...)
  2017-10-18 12:50 ` [PATCH 0/3] " Sagi Grimberg
@ 2017-10-18 20:05 ` Max Gurtovoy
  2017-10-19  8:59 ` [PATCH " Christoph Hellwig
  5 siblings, 0 replies; 14+ messages in thread
From: Max Gurtovoy @ 2017-10-18 20:05 UTC (permalink / raw)




On 10/18/2017 3:38 PM, Israel Rukshin wrote:
> Since commit b86dd81
> "block: get rid of blk-mq default scheduler choice Kconfig entries",
> when setting nr_hw_queues to 1 the admin tag set uses mq-deadline scheduler.
> This flag is useful for admin queues that aren't used for normal IO.
> We already use this flag at nvme-pci.
> 
> Israel Rukshin (3):
>    nvme-rdma: Add BLK_MQ_F_NO_SCHED flag to admin tag set
>    nvme-fc: Add BLK_MQ_F_NO_SCHED flag to admin tag set
>    nvme-loop: Add BLK_MQ_F_NO_SCHED flag to admin tag set

thanks Israel.
all 3 patches looks good to me,

Reviewed-by: Max Gurtovoy <maxg at mellanox.com>

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

* [PATCH 2/3] nvme-fc: Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 12:38 ` [PATCH 2/3] nvme-fc: " Israel Rukshin
  2017-10-18 15:30   ` Sagi Grimberg
@ 2017-10-18 21:41   ` James Smart
  1 sibling, 0 replies; 14+ messages in thread
From: James Smart @ 2017-10-18 21:41 UTC (permalink / raw)


On 10/18/2017 5:38 AM, Israel Rukshin wrote:
> Since commit b86dd81
> "block: get rid of blk-mq default scheduler choice Kconfig entries",
> when setting nr_hw_queues to 1 the admin tag set uses mq-deadline scheduler.
> This flag is useful for admin queues that aren't used for normal IO.
>
> Signed-off-by: Israel Rukshin <israelr at mellanox.com>
> ---
>   drivers/nvme/host/fc.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
> index af075e9..b383735 100644
> --- a/drivers/nvme/host/fc.c
> +++ b/drivers/nvme/host/fc.c
> @@ -2796,6 +2796,7 @@ enum {
>   	ctrl->admin_tag_set.driver_data = ctrl;
>   	ctrl->admin_tag_set.nr_hw_queues = 1;
>   	ctrl->admin_tag_set.timeout = ADMIN_TIMEOUT;
> +	ctrl->admin_tag_set.flags = BLK_MQ_F_NO_SCHED;
>   
>   	ret = blk_mq_alloc_tag_set(&ctrl->admin_tag_set);
>   	if (ret)

Looks fine

Signed-off-by: James Smart? <james.smart at broadcom.com>

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

* [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set
  2017-10-18 12:38 [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set Israel Rukshin
                   ` (4 preceding siblings ...)
  2017-10-18 20:05 ` [Suspected-Phishing][PATCH " Max Gurtovoy
@ 2017-10-19  8:59 ` Christoph Hellwig
  5 siblings, 0 replies; 14+ messages in thread
From: Christoph Hellwig @ 2017-10-19  8:59 UTC (permalink / raw)


Thanks Israel,

applied the whole series to nvme-4.15

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

end of thread, other threads:[~2017-10-19  8:59 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-18 12:38 [PATCH 0/3] Add BLK_MQ_F_NO_SCHED flag to admin tag set Israel Rukshin
2017-10-18 12:38 ` [PATCH 1/3] nvme-rdma: " Israel Rukshin
2017-10-18 15:30   ` Sagi Grimberg
2017-10-18 12:38 ` [PATCH 2/3] nvme-fc: " Israel Rukshin
2017-10-18 15:30   ` Sagi Grimberg
2017-10-18 21:41   ` James Smart
2017-10-18 12:38 ` [PATCH 3/3] nvme-loop: " Israel Rukshin
2017-10-18 15:30   ` Sagi Grimberg
2017-10-18 12:50 ` [PATCH 0/3] " Sagi Grimberg
2017-10-18 13:58   ` Israel Rukshin
2017-10-18 14:31     ` Sagi Grimberg
2017-10-18 15:16       ` Israel Rukshin
2017-10-18 20:05 ` [Suspected-Phishing][PATCH " Max Gurtovoy
2017-10-19  8:59 ` [PATCH " Christoph Hellwig

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.