Thread (15 messages) 15 messages, 2 authors, 2021-03-04

Re: [PATCH V8 00/13] blk-mq/scsi: tracking device queue depth via sbitmap

From: "Martin K. Petersen" <martin.petersen@oracle.com>
Date: 2021-03-04 04:18:00
Also in: linux-scsi

On Sun, 7 Feb 2021 17:20:16 +0800, Ming Lei wrote:
scsi uses one global atomic variable to track queue depth for each
LUN/request queue. This way can't scale well when there is lots of CPU
cores and the disk is very fast. Broadcom guys has complained that their
high end HBA can't reach top performance because .device_busy is
operated in IO path.

Replace the atomic variable sdev->device_busy with sbitmap for
tracking scsi device queue depth.

[...]
Applied to 5.13/scsi-queue, thanks!

[01/13] sbitmap: remove sbitmap_clear_bit_unlock
        https://git.kernel.org/mkp/scsi/c/46d2a5813454
[02/13] sbitmap: maintain allocation round_robin in sbitmap
        https://git.kernel.org/mkp/scsi/c/ed9eb92974bc
[03/13] sbitmap: add helpers for updating allocation hint
        https://git.kernel.org/mkp/scsi/c/a523156a9303
[04/13] sbitmap: move allocation hint into sbitmap
        https://git.kernel.org/mkp/scsi/c/30d4ee6f3a9d
[05/13] sbitmap: export sbitmap_weight
        https://git.kernel.org/mkp/scsi/c/d9ba7618bec3
[06/13] sbitmap: add helper of sbitmap_calculate_shift
        https://git.kernel.org/mkp/scsi/c/5d747419d20e
[07/13] blk-mq: add callbacks for storing & retrieving budget token
        https://git.kernel.org/mkp/scsi/c/9dda23635dbe
[08/13] blk-mq: return budget token from .get_budget callback
        https://git.kernel.org/mkp/scsi/c/cd4ef15a289a
[09/13] scsi: put hot fields of scsi_host_template into one cacheline
        https://git.kernel.org/mkp/scsi/c/a8474e7b28a0
[10/13] megaraid_sas: v2 replace sdev_busy with local counter
        https://git.kernel.org/mkp/scsi/c/d7afc2ed1447
[11/13] scsi: add scsi_device_busy() to read sdev->device_busy
        https://git.kernel.org/mkp/scsi/c/c300d1182331
[12/13] scsi: make sure sdev->queue_depth is <= max(shost->can_queue, 1024)
        https://git.kernel.org/mkp/scsi/c/b0a4b45dc841
[13/13] scsi: replace sdev->device_busy with sbitmap
        https://git.kernel.org/mkp/scsi/c/62b38e49fcf7

-- 
Martin K. Petersen	Oracle Linux Engineering
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help