diff options
| author | Ming Lei <[email protected]> | 2019-10-25 14:58:55 +0800 |
|---|---|---|
| committer | Martin K. Petersen <[email protected]> | 2019-11-01 20:12:50 -0400 |
| commit | 6eb045e092efefafc6687409a6fa6d1dabf0fb69 (patch) | |
| tree | aeb333b78b8514f84daa88f6e431ea69ab51b22c /tools/perf/scripts/python/netdev-times.py | |
| parent | 7f674c38a38e056bb33d1d67700410c3f3124d34 (diff) | |
scsi: core: avoid host-wide host_busy counter for scsi_mq
It isn't necessary to check the host depth in scsi_queue_rq() any more
since it has been respected by blk-mq before calling scsi_queue_rq() via
getting driver tag.
Lots of LUNs may attach to same host and per-host IOPS may reach millions,
so we should avoid expensive atomic operations on the host-wide counter in
the IO path.
This patch implements scsi_host_busy() via blk_mq_tagset_busy_iter() with
one scsi command state for reading the count of busy IOs for scsi_mq.
It is observed that IOPS is increased by 15% in IO test on scsi_debug (32
LUNs, 32 submit queues, 1024 can_queue, libaio/dio) in a dual-socket
system.
Cc: Jens Axboe <[email protected]>
Cc: Ewan D. Milne <[email protected]>
Cc: Omar Sandoval <[email protected]>,
Cc: "Martin K. Petersen" <[email protected]>,
Cc: James Bottomley <[email protected]>,
Cc: Christoph Hellwig <[email protected]>,
Cc: Kashyap Desai <[email protected]>
Cc: Hannes Reinecke <[email protected]>
Cc: Laurence Oberman <[email protected]>
Cc: Bart Van Assche <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Ming Lei <[email protected]>
Reviewed-by: Jens Axboe <[email protected]>
Reviewed-by: Bart Van Assche <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/netdev-times.py')
0 files changed, 0 insertions, 0 deletions