Messages in this thread | | | Date | Mon, 7 Aug 2017 13:27:02 +0100 | From | "Richard W.M. Jones" <> | Subject | Re: Increased memory usage with scsi-mq |
| |
On Mon, Aug 07, 2017 at 02:11:39PM +0200, Paolo Bonzini wrote: > You could also add a module parameter to the driver, and set it to 64 on > the kernel command line (there is an example in > drivers/scsi/vmw_pvscsi.c of how to do it).
[Proviso: I've not tested the performance of difference values, nor do I have any particular knowledge in this area]
can_queue is documented as:
* This determines if we will use a non-interrupt driven * or an interrupt driven scheme. It is set to the maximum number * of simultaneous commands a given host adapter will accept.
Wouldn't it be better to make it default to k * number of CPUs for some small integer k?
I looked at the other scsi drivers and they set it to all kinds of values. 1, small integers, large integers, configurable values.
Also I noticed this code in virtio_scsi.c:
cmd_per_lun = virtscsi_config_get(vdev, cmd_per_lun) ?: 1; shost->cmd_per_lun = min_t(u32, cmd_per_lun, shost->can_queue);
but setting cmd_per_lun (as a qemu virtio-scsi-pci parameter) didn't seem to make any difference to memory usage.
Rich.
-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-df lists disk usage of guests without needing to install any software inside the virtual machine. Supports Linux and Windows. http://people.redhat.com/~rjones/virt-df/
| |