scsi: virtio_scsi: limit number of hw queues by nr_cpu_ids
mainline inclusion from mainline-v5.1-rc2 commit 1978f30a category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/I8F6P4 CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1978f30a87732d4d9072a20abeded9fe17884f1b ----------------------------------- When tag_set->nr_maps is 1, the block layer limits the number of hw queues by nr_cpu_ids. No matter how many hw queues are used by virtio-scsi, as it has (tag_set->nr_maps == 1), it can use at most nr_cpu_ids hw queues. In addition, specifically for pci scenario, when the 'num_queues' specified by qemu is more than maxcpus, virtio-scsi would not be able to allocate more than maxcpus vectors in order to have a vector for each queue. As a result, it falls back into MSI-X with one vector for config and one shared for queues. Considering above reasons, this patch limits the number of hw queues used by virtio-scsi by nr_cpu_ids. Reviewed-by:Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by:
Dongli Zhang <dongli.zhang@oracle.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk> Signed-off-by:
Kunkun Jiang <jiangkunkun@huawei.com> Signed-off-by:
dingxudong <dingxudong1@huawei.com>
Loading
Please sign in to comment