Merge patch series "target: Remove atomics from main IO path"
authorMartin K. Petersen <martin.petersen@oracle.com>
Tue, 29 Apr 2025 01:48:37 +0000 (21:48 -0400)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 29 Apr 2025 01:48:37 +0000 (21:48 -0400)
commit6b08fe7763de9e388e6b224af2e39fa5083c44d8
treead164e3d8991d1336927e51f82d776b9b23b41d3
parenta0d1cf505d3f3a98388c2d05fe03b126dfda3513
parent268975a87c7b6f6b0ceb62df236c1e1b08b89379
Merge patch series "target: Remove atomics from main IO path"

Mike Christie <michael.christie@oracle.com> says:

The following patches made over Linus's tree remove the atomic use from
the main IO path. There was a handful of atomic_longs used just used
for stats and a couple atomics used for handling ordered commands. These
patches move the stats to per cpu, and moves the ordered tracking to a
per cpu counter.

With the patches 8K IOPS increases by up to 33% when running fio
with numjobs >= 4 and using the vhost-scsi target with virtio-scsi
and virtio num_queues >= 4 (jobs and queues match, and virtqueue_size
and cmd_per_lun are increased to match the total iodepth of all
jobs).

Link: https://lore.kernel.org/r/20250424032741.16216-1-michael.christie@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>