All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Garry <john.garry@huawei.com>
To: Hannes Reinecke <hare@suse.de>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
	Jens Axboe <axboe@kernel.dk>, Christoph Hellwig <hch@lst.de>,
	James Bottomley <james.bottomley@hansenpartnership.com>,
	Ming Lei <ming.lei@redhat.com>, <linux-scsi@vger.kernel.org>,
	<linux-block@vger.kernel.org>,
	Sumit Saxena <sumit.saxena@broadcom.com>,
	chenxiang <chenxiang66@hisilicon.com>
Subject: Re: [PATCH RFC v5 00/11] blk-mq/scsi: Provide hostwide shared tags for SCSI HBAs
Date: Wed, 26 Feb 2020 11:09:46 +0000	[thread overview]
Message-ID: <14b627ba-890c-ffe1-a648-7f22a4829372@huawei.com> (raw)
In-Reply-To: <20191202153914.84722-1-hare@suse.de>

On 02/12/2019 15:39, Hannes Reinecke wrote:
> Hi all,
> 

JFYI, Sumit requested that we rebase this patchset for testing against 
the latest kernel - it no longer applies for 5.6-rc. I'm going to do 
that now and repost.

Thanks,
John

> here now is an updated version of the v2 patchset from John Garry,
> including the suggestions and reviews from the mailing list.
> John, apologies for hijacking your work :-)
> 
> For this version I've only added some slight modifications to Johns
> original patch (renaming variables etc); the contentious separate sbitmap
> allocation has been dropped in favour of Johns original version with pointers
> to the embedded sbitmap.
> 
> But more importantly I've reworked the scheduler tag allocation after
> discussions with Ming Lei.
> 
> Point is, hostwide shared tags can't really be resized; they surely
> cannot be increased (as it's a hardware limitation), and even decreasing
> is questionable as any modification here would affect all devices
> served by this HBA.
> 
> Scheduler tags, OTOH, can be considered as per-queue, as the I/O scheduler
> might want to look at all requests on all queues. As such the queue depth
> is distinct from the actual queue depth of the tagset.
> Seeing that it is distinct the depth can now be changed independently of
> the underlying tagset, and there's no need ever to change the tagset itself.
> 
> I've also modified megaraid_sas, smartpqi and hpsa to take advantage of
> host_tags.
> 
> Performance for megaraid_sas is on par with the original implementation,
> with the added benefit that with this we should be able to handle cpu
> hotplug properly.
> 
> Differences to v4:
> - Rework scheduler tag allocations
> - Revert back to the original implementation from John
> 
> Differences to v3:
> - Include reviews from Ming Lei
> 
> Differences to v2:
> - Drop embedded tag bitmaps
> - Do not share scheduling tags
> - Add patches for hpsa and smartpqi
> 
> Differences to v1:
> - Use a shared sbitmap, and not a separate shared tags (a big change!)
> 	- Drop request.shared_tag
> - Add RB tags
> 
> Hannes Reinecke (7):
>    blk-mq: rename blk_mq_update_tag_set_depth()
>    blk-mq: add WARN_ON in blk_mq_free_rqs()
>    blk-mq: move shared sbitmap into elevator queue
>    scsi: Add template flag 'host_tagset'
>    megaraid_sas: switch fusion adapters to MQ
>    smartpqi: enable host tagset
>    hpsa: enable host_tagset and switch to MQ
> 
> John Garry (3):
>    blk-mq: Remove some unused function arguments
>    blk-mq: Facilitate a shared sbitmap per tagset
>    scsi: hisi_sas: Switch v3 hw to MQ
> 
> Ming Lei (1):
>    blk-mq: rename BLK_MQ_F_TAG_SHARED as BLK_MQ_F_TAG_QUEUE_SHARED
> 
>   block/bfq-iosched.c                         |   4 +-
>   block/blk-mq-debugfs.c                      |  12 +--
>   block/blk-mq-sched.c                        |  22 +++++
>   block/blk-mq-tag.c                          | 140 +++++++++++++++++++++-------
>   block/blk-mq-tag.h                          |  27 ++++--
>   block/blk-mq.c                              | 104 +++++++++++++++------
>   block/blk-mq.h                              |   7 +-
>   block/blk-sysfs.c                           |   7 ++
>   block/kyber-iosched.c                       |   4 +-
>   drivers/scsi/hisi_sas/hisi_sas.h            |   3 +-
>   drivers/scsi/hisi_sas/hisi_sas_main.c       |  36 +++----
>   drivers/scsi/hisi_sas/hisi_sas_v3_hw.c      |  86 +++++++----------
>   drivers/scsi/hpsa.c                         |  44 ++-------
>   drivers/scsi/hpsa.h                         |   1 -
>   drivers/scsi/megaraid/megaraid_sas.h        |   1 -
>   drivers/scsi/megaraid/megaraid_sas_base.c   |  65 ++++---------
>   drivers/scsi/megaraid/megaraid_sas_fusion.c |  14 ++-
>   drivers/scsi/scsi_lib.c                     |   2 +
>   drivers/scsi/smartpqi/smartpqi_init.c       |  38 ++++++--
>   include/linux/blk-mq.h                      |   7 +-
>   include/linux/elevator.h                    |   3 +
>   include/scsi/scsi_host.h                    |   3 +
>   22 files changed, 380 insertions(+), 250 deletions(-)
> 


      parent reply	other threads:[~2020-02-26 11:09 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-02 15:39 [PATCH RFC v5 00/11] blk-mq/scsi: Provide hostwide shared tags for SCSI HBAs Hannes Reinecke
2019-12-02 15:39 ` [PATCH 01/11] blk-mq: Remove some unused function arguments Hannes Reinecke
2019-12-02 15:39 ` [PATCH 02/11] blk-mq: rename BLK_MQ_F_TAG_SHARED as BLK_MQ_F_TAG_QUEUE_SHARED Hannes Reinecke
2019-12-02 15:39 ` [PATCH 03/11] blk-mq: rename blk_mq_update_tag_set_depth() Hannes Reinecke
2019-12-03 14:30   ` John Garry
2019-12-03 14:53     ` Hannes Reinecke
2019-12-02 15:39 ` [PATCH 04/11] blk-mq: Facilitate a shared sbitmap per tagset Hannes Reinecke
2019-12-03 14:54   ` John Garry
2019-12-03 15:02     ` Hannes Reinecke
2019-12-04 10:24       ` John Garry
2019-12-03 16:38     ` Bart Van Assche
2019-12-02 15:39 ` [PATCH 05/11] blk-mq: add WARN_ON in blk_mq_free_rqs() Hannes Reinecke
2019-12-02 15:39 ` [PATCH 06/11] blk-mq: move shared sbitmap into elevator queue Hannes Reinecke
2019-12-02 15:39 ` [PATCH 07/11] scsi: Add template flag 'host_tagset' Hannes Reinecke
2019-12-02 15:39 ` [PATCH 08/11] scsi: hisi_sas: Switch v3 hw to MQ Hannes Reinecke
2019-12-02 15:39 ` [PATCH 09/11] megaraid_sas: switch fusion adapters " Hannes Reinecke
2019-12-09 10:10   ` Sumit Saxena
2019-12-09 11:02     ` Hannes Reinecke
2020-01-10  4:00       ` Sumit Saxena
2020-01-10 12:18         ` John Garry
2020-01-13 17:42         ` John Garry
2020-01-14  7:05           ` Hannes Reinecke
2020-01-16 15:47             ` John Garry
2020-01-16 17:45               ` Hannes Reinecke
2020-01-17 11:40             ` Sumit Saxena
2020-01-17 11:18           ` Sumit Saxena
2020-02-13 10:07             ` John Garry
2020-02-17 10:09               ` Sumit Saxena
2020-01-09 11:55     ` John Garry
2020-01-09 15:19       ` Hannes Reinecke
2020-01-09 18:17         ` John Garry
2020-01-10  2:00       ` Ming Lei
2020-01-10 12:09         ` John Garry
2020-01-14 13:57           ` John Garry
2019-12-02 15:39 ` [PATCH 10/11] smartpqi: enable host tagset Hannes Reinecke
2019-12-02 15:39 ` [PATCH 11/11] hpsa: enable host_tagset and switch to MQ Hannes Reinecke
2020-02-26 11:09 ` John Garry [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=14b627ba-890c-ffe1-a648-7f22a4829372@huawei.com \
    --to=john.garry@huawei.com \
    --cc=axboe@kernel.dk \
    --cc=chenxiang66@hisilicon.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=james.bottomley@hansenpartnership.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=ming.lei@redhat.com \
    --cc=sumit.saxena@broadcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.