Page MenuHomeFreeBSD

Add driver for the VMware Paravirtual SCSI (pvscsi) controller
Needs ReviewPublic

Authored by vbhakta_vmware.com on Dec 20 2018, 12:26 AM.

Details

Reviewers
mp
bcr
imp
Group Reviewers
manpages
Core Team
Summary

This is a CAM SIM driver that provides support for the VMware Paravirtual SCSI controller (pvscsi).

Test Plan

The following tests were run for amd64 and most for i386:
Built both in-kernel and as loadable module.
Hot-add/remove of the controller (see known issues) and disks.
Various I/O workloads on different ESX backends, including with VM operations (snapshot, suspend/resume, vMotion, fault tolerance) and with ESX path failover.
Stressed with I/O for over 24 hours and to a large number of disks.
Created ISO and installed FreeBSD on a pvscsi disk.

Known Issues:
Hot-add of the controller works but is followed by a scheduled hot-remove. This affects other VM pci devices as well.
MSI-X is blacklisted, also affects other VM pci devices (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203874)
Single thread, single outstanding I/O performance can be ~10% worse than lsisas (mpt) - the pvscsi test appears to spend more time in acpi_cpu_c1 vs sched_idletd. The difference goes away with machdep.idle=spin.

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

vbhakta_vmware.com changed the visibility from "Public (No Login Required)" to "No One".Dec 20 2018, 6:42 AM
vbhakta_vmware.com changed the edit policy from "All Users" to "No One".
vbhakta_vmware.com changed the visibility from "No One" to "Public (No Login Required)".Dec 24 2018, 10:42 PM
vbhakta_vmware.com changed the edit policy from "No One" to "All Users".
bcr accepted this revision.Dec 25 2018, 11:38 AM
bcr added a subscriber: bcr.

OK from manpages.

This revision is now accepted and ready to land.Dec 25 2018, 11:38 AM
imp added a reviewer: imp.Mar 5 2019, 11:31 PM
This revision now requires review to proceed.Mar 5 2019, 11:31 PM
imp added a comment.Mar 5 2019, 11:34 PM

Added license concern, but it shouldn't be a huge deal. haven't looked at the CAM integration yet.... That will come in time.
And in case it isn't clear, I'll drive the License issue inside of core.

sys/dev/vmware/pvscsi/pvscsi.h
5

(picking this at random) Core needs to get its act together and finalize the 'indirection' for license policy and guidelines. I like how this is done, generally, but will have tweaks to suggest for this silly mechanical issue to make sure this indirection is clear and unambiguous.

Updated the man page license header to use or instead of and. No changes to the code.

And updates on this review?