aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Rosenfeld <rosenfeld@grumpf.hope-2000.org>2025-10-29 14:09:43 +0000
committerEd Maste <emaste@FreeBSD.org>2026-02-06 14:55:41 +0000
commit73ab91aaade5f33459fda16d9daf6526ab668c42 (patch)
tree6dc495497696e20884db75e4573f909b8567800e
parent8bdcfc2a3febcd1aade1d9a3a8a87581c7b2928d (diff)
bhyve/virtio-scsi: Unlimit max_sectors
The old default of 2 for max_sectors limits performance significantly with guest systems where the virtio-scsi driver actually honors this value. As CTL doesn't seem to have any limit of the maximum size of a single transfer, set this to INT32_MAX by default. Reviewed by: corvink Differential Revision: https://reviews.freebsd.org/D53466
-rw-r--r--usr.sbin/bhyve/pci_virtio_scsi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.sbin/bhyve/pci_virtio_scsi.c b/usr.sbin/bhyve/pci_virtio_scsi.c
index c7d930b0f4ee..bb0b18c51571 100644
--- a/usr.sbin/bhyve/pci_virtio_scsi.c
+++ b/usr.sbin/bhyve/pci_virtio_scsi.c
@@ -308,7 +308,8 @@ pci_vtscsi_reset(void *vsc)
.num_queues = VTSCSI_REQUESTQ,
/* Leave room for the request and the response. */
.seg_max = VTSCSI_MAXSEG - 2,
- .max_sectors = 2,
+ /* CTL apparently doesn't have a limit here */
+ .max_sectors = INT32_MAX,
.cmd_per_lun = 1,
.event_info_size = sizeof(struct pci_vtscsi_event),
.sense_size = 96,