Page MenuHomeFreeBSD

bhyve/virtio-scsi: Preallocate all I/O requests
Needs ReviewPublic

Authored by rosenfeld_grumpf.hope-2000.org on Oct 30 2025, 7:38 AM.
Tags
None
Referenced Files
F145076649: D53469.diff
Sun, Feb 15, 5:22 PM
Unknown Object (File)
Jan 13 2026, 1:20 AM
Unknown Object (File)
Jan 12 2026, 2:30 PM
Unknown Object (File)
Jan 8 2026, 5:04 PM
Unknown Object (File)
Jan 7 2026, 6:52 AM
Unknown Object (File)
Dec 28 2025, 9:55 AM
Unknown Object (File)
Dec 26 2025, 11:50 AM
Unknown Object (File)
Dec 14 2025, 10:29 AM

Details

Reviewers
jhb
corvink
markj
Group Reviewers
bhyve
Summary

By preallocating all I/O requests on all queues, we can take most
allocations out of the hot I/O code paths and simplify the code
significantly. While here, make sure we check all allocations for
success and make sure to handle failures gracefully.

Additionally, check for I/O request validity as early as possible,
and return illegal requests immediately.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 70550
Build 67433: arc lint + arc unit

Event Timeline

rosenfeld_grumpf.hope-2000.org retitled this revision from bhyve/virtio-scsi: preallocate all I/O requests to bhyve/virtio-scsi: Preallocate all I/O requests.Mon, Feb 9, 4:26 PM

Sync with latest illumos bits after code review.

Use a size_t type where appropriate instead of the abomination that is uint.