Bug 1718818 - [RFE] Enhance local disk passthrough
Summary: [RFE] Enhance local disk passthrough
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine
Version: 4.3.4
Hardware: x86_64
OS: Linux
high
high
Target Milestone: ovirt-4.4.1
: ---
Assignee: Tomasz Barański
QA Contact: Nisim Simsolo
URL:
Whiteboard:
Depends On: 1793550
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-06-10 10:06 UTC by Michal Skrivanek
Modified: 2021-03-02 10:17 UTC (History)
14 users (show)

Fixed In Version: rhv-4.4.0-29
Doc Type: Enhancement
Doc Text:
This enhancement enables you to attach a SCSI host device, `scsi_hostdev`, to a virtual machine and specify the optimal driver for the type of SCSI device: * *scsi_generic*: (Default) Enables the guest operating system to access OS-supported SCSI host devices attached to the host. Use this driver for SCSI media changers that require raw access, such as tape or CD changers. * *scsi_block*: Similar to *scsi_generic* but better speed and reliability. Use for SCSI disk devices. If trim or discard for the underlying device is desired, and it’s a hard disk, use this driver. * *scsi_hd*: Provides performance with lowered overhead. Supports large numbers of devices. Uses the standard SCSI device naming scheme. Can be used with aio-native. Use this driver for high-performance SSDs. * *virtio_blk_pci*: Provides the highest performance without the SCSI overhead. Supports identifying devices by their serial numbers.
Clone Of:
Environment:
Last Closed: 2020-08-04 13:19:31 UTC
oVirt Team: Virt
Target Upstream Version:
lsvaty: testing_plan_complete-


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2020:3247 0 None None None 2020-08-04 13:19:46 UTC
oVirt gerrit 101051 0 master ABANDONED Extend SCSI disk passthrough to allow for better drivers 2021-02-16 12:40:55 UTC
oVirt gerrit 101130 0 master ABANDONED caps: report a mapping of SCSI adapters to block devices 2021-02-16 12:40:55 UTC
oVirt gerrit 104201 0 master MERGED core: HostDev SCSI devices as disks 2021-02-16 12:40:55 UTC

Internal Links: 1801206

Description Michal Skrivanek 2019-06-10 10:06:50 UTC
We currently support SCSI Hostdev Passthrough using a scsi-generic driver only
  <hostdev mode='subsystem' type='scsi' managed='no' rawio='yes'>
which doesn't perform that well. We should add scsi-block and scsi-hd and ideally also virtio-blk-pci.

- scsi-block has less overhead than scsi-generic with same capabilities.
  <disk type='block' device='lun' rawio='yes'>
  we should consider it a default for disk devices and leave scsi-generic for tapes and such.
- scsi-hd is a non-passthrough way, suitable for SSDs with higher performance
  <disk type='block' device='disk'>
  can use aio-native
- virtio-blk-pci would be the most performant way without the SCSI overhead
  <disk type='block' device='disk'> with <target dev='vda' bus='virtio'/>
  supports serial number  
- for completion, there's also the existing PCI Passthrough option suitable for PCI NVMe SSDs

As a rule of thumb the performance should follow:

                     SCSI passthrough       overhead
                                          guest   host
  ----------------------------------------------------------------------
    scsi-generic            yes          higher  high
    scsi-block              yes          higher  low
    scsi-hd                 no           higher  low
    virtio-blk-pci          no           lower   lower
    PCI passthrough         N/A          lower   lowest

Possible options depend on the kind of the device:
- SCSI non-disks can be exposed as passthrough only(scsi-generic)
- SCSI disks can be exposed as passthrough(scsi-block since it's superior to scsi-generic and has no disadvantage), as emulated SCSI(scsi-hd), or even as virtio-blk-pci for better performance
- PCI non-NVMe devices can be exposed as passthrough only
- PCI NVMe devices can be exposed as PCI passthrough, emulated SCSI(scsi-hd) or virtio-blk-pci.

They all should honor the iothread setting as well

Comment 4 Paolo Bonzini 2019-06-21 12:28:37 UTC
I agree with the plan, it's a good summary of past discussions and BZs.

Comment 8 RHV bug bot 2019-12-13 13:13:39 UTC
WARN: Bug status (ON_QA) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops@redhat.comINFO: Bug status (ON_QA) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops@redhat.com

Comment 9 RHV bug bot 2019-12-20 17:43:35 UTC
WARN: Bug status (ON_QA) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops@redhat.comINFO: Bug status (ON_QA) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops@redhat.com

Comment 10 RHV bug bot 2020-01-08 14:46:36 UTC
WARN: Bug status (ON_QA) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops@redhat.comINFO: Bug status (ON_QA) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops@redhat.com

Comment 11 RHV bug bot 2020-01-08 15:14:21 UTC
WARN: Bug status (ON_QA) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops@redhat.comINFO: Bug status (ON_QA) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops@redhat.com

Comment 12 RHV bug bot 2020-01-24 19:48:22 UTC
WARN: Bug status (ON_QA) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops@redhat.comINFO: Bug status (ON_QA) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops@redhat.com

Comment 13 Nisim Simsolo 2020-02-12 10:06:51 UTC
Reassigned, see https://bugzilla.redhat.com/show_bug.cgi?id=1793550

Comment 17 Nisim Simsolo 2020-07-08 18:20:47 UTC
Verified:
ovirt-engine-4.4.1.7-0.3.el8ev
libvirt-daemon-6.0.0-25.module+el8.2.1+7154+47ffd890.x86_64
vdsm-4.40.22-1.el8ev.x86_64
qemu-kvm-4.2.0-28.module+el8.2.1+7211+16dfe810.x86_64

Verification scenario:
Polarion test plan added to external trackers.

Comment 25 errata-xmlrpc 2020-08-04 13:19:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: RHV Manager (ovirt-engine) 4.4 security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:3247


Note You need to log in before you can comment on or make changes to this bug.