Project

General

Profile

Actions

Feature #11329

closed

improved Virtio framework

Added by Joshua M. Clulow about 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

We have two drivers for Virtual I/O Device virtual devices today: vioblk, for Virtio block devices; and vioif, for Virtio network devices. Before finalising a third driver (the upcoming vioscsi for Virtio SCSI storage) I decided to do some cleanup of our existing Virtio drivers. At the core of this is a new base Virtio framework which provides support for features we don't currently have; e.g., the use of both indirect and direct descriptor virtqueues.


Related issues

Related to illumos gate - Bug #10005: Cannot Fix pool misconfiguration because other top level device is raidz.Closed2018-11-22

Actions
Related to illumos gate - Bug #10012: vioblk should not accept an all-zero serial numberClosedJoshua M. Clulow2018-11-28

Actions
Related to illumos gate - Bug #7366: vioif happily creates rx descriptors until it consumes all memoryClosedJoshua M. Clulow2016-09-09

Actions
Related to illumos gate - Bug #6340: virtio lies about falling back to INTx interruptsClosed2015-10-16

Actions
Related to illumos gate - Bug #6341: virtio doesn't try hard enough to get MSI interruptsRejected2015-10-16

Actions
Actions #1

Updated by Joshua M. Clulow about 2 years ago

  • Assignee set to Joshua M. Clulow
Actions #2

Updated by Joshua M. Clulow about 2 years ago

  • Subject changed from improved virtio framework to improved Virtio framework
Actions #3

Updated by Till Wegmüller almost 2 years ago

  • Related to Bug #10005: Cannot Fix pool misconfiguration because other top level device is raidz. added
Actions #4

Updated by Joshua M. Clulow almost 2 years ago

  • Description updated (diff)
Actions #5

Updated by Joshua M. Clulow almost 2 years ago

Testing Notes

Built an OmniOS install ISO with the change rebased on top of illumos-omnios, the OmniOS gate. Was able to install this ISO in a new SmartOS bhyve guest and exercise both networking (iperf3) and storage (iostomp). Leaving running over night to check for leaks or instability. Was able to successfully create a crash dump under iperf and iostomp load, with kmem_flags set to 0xf; confirmed that it was free of related leaks.

I also upgraded my OpenIndiana build VM (on a SmartOS KVM host) using the RTI build bits, and did some basic iperf smoke testing and scrubbed the root ZFS pool (~22GB). Notably this test covers upgrading an existing system and ensuring that the /devices path for the pool has not changed as a result of the driver changes.

Finally, I have tested this several times on Ubuntu 19.04 KVM hosts using virt-manager where everything seems to work correctly as well. I was able to get to gigabit line speed in an iperf test.

Actions #6

Updated by Joshua M. Clulow almost 2 years ago

  • Related to Bug #10012: vioblk should not accept an all-zero serial number added
Actions #7

Updated by Joshua M. Clulow almost 2 years ago

  • Related to Bug #7366: vioif happily creates rx descriptors until it consumes all memory added
Actions #8

Updated by Electric Monk almost 2 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit f8296c60994fb27105f37ac6f75661e4a6bdbab7

commit  f8296c60994fb27105f37ac6f75661e4a6bdbab7
Author: Joshua M. Clulow <josh@sysmgr.org>
Date:   2019-08-16T17:37:47.000Z

    11329 improved Virtio framework
    10012 vioblk should not accept an all-zero serial number
    7366 vioif happily creates rx descriptors until it consumes all memory
    Reviewed by: Robert Mustacchi <rm@joyent.com>
    Approved by: Richard Lowe <richlowe@richlowe.net>

Actions #9

Updated by Joshua M. Clulow 11 months ago

  • Related to Bug #6340: virtio lies about falling back to INTx interrupts added
Actions #10

Updated by Joshua M. Clulow 11 months ago

  • Related to Bug #6341: virtio doesn't try hard enough to get MSI interrupts added
Actions

Also available in: Atom PDF