[pve-devel] FW: issues with Virtio-SCSI devicde on Proxmox...

Christian Moser cmos at maklee.com
Wed Aug 14 14:48:49 CEST 2024


I'm talking about virtio-scsi. Our virtio-network device is working fine 

⁣Sent from BlueMail

Get BlueMail for Android ​

On Aug 14, 2024, 15:22, at 15:22, "DERUMIER, Alexandre" <alexandre.derumier at groupe-cyllene.com> wrote:
>>>Alexandre,
>>>
>>>the statement below is not true for our case. The OpenVMS guest OS is
>>>using a PCIE bus, so the virtio-scsi device should be exposed as
>>>"modern", but is not. Not sure why not at this point
>
>See Fiona response,
>
>the pci express bridge is present, but the virtio-net is plugged on a
>simple pci bridge.
>
>pci express slots are mostly used for passthrough devices
>
>/usr/share/perl5/PVE/QemuServer/PCI.pm
>
>my $pcie_addr_map;
>sub get_pcie_addr_map {
>    $pcie_addr_map = {
>        vga => { bus => 'pcie.0', addr => 1 },
>        hostpci0 => { bus => "ich9-pcie-port-1", addr => 0 },
>        hostpci1 => { bus => "ich9-pcie-port-2", addr => 0 },
>        hostpci2 => { bus => "ich9-pcie-port-3", addr => 0 },
>        hostpci3 => { bus => "ich9-pcie-port-4", addr => 0 },
>        hostpci4 => { bus => "ich9-pcie-port-5", addr => 0 },
>        hostpci5 => { bus => "ich9-pcie-port-6", addr => 0 },
>        hostpci6 => { bus => "ich9-pcie-port-7", addr => 0 },
>        hostpci7 => { bus => "ich9-pcie-port-8", addr => 0 },
>        hostpci8 => { bus => "ich9-pcie-port-9", addr => 0 },
>        hostpci9 => { bus => "ich9-pcie-port-10", addr => 0 },
>        hostpci10 => { bus => "ich9-pcie-port-11", addr => 0 },
>        hostpci11 => { bus => "ich9-pcie-port-12", addr => 0 },
>        hostpci12 => { bus => "ich9-pcie-port-13", addr => 0 },
>        hostpci13 => { bus => "ich9-pcie-port-14", addr => 0 },
>        hostpci14 => { bus => "ich9-pcie-port-15", addr => 0 },
>        hostpci15 => { bus => "ich9-pcie-port-16", addr => 0 },
>        # win7 is picky about pcie assignments
>        hostpci0bus0 => { bus => "pcie.0", addr => 16 },
>        hostpci1bus0 => { bus => "pcie.0", addr => 17 },
>        hostpci2bus0 => { bus => "pcie.0", addr => 18 },
>        hostpci3bus0 => { bus => "pcie.0", addr => 19 },
>        ivshmem => { bus => 'pcie.0', addr => 20 },
>        hostpci4bus0 => { bus => "pcie.0", addr => 9 },
>        hostpci5bus0 => { bus => "pcie.0", addr => 10 },
>        hostpci6bus0 => { bus => "pcie.0", addr => 11 },
>        hostpci7bus0 => { bus => "pcie.0", addr => 12 },
>        hostpci8bus0 => { bus => "pcie.0", addr => 13 },
>        hostpci9bus0 => { bus => "pcie.0", addr => 14 },
>        hostpci10bus0 => { bus => "pcie.0", addr => 15 },
>        hostpci11bus0 => { bus => "pcie.0", addr => 21 },
>        hostpci12bus0 => { bus => "pcie.0", addr => 22 },
>        hostpci13bus0 => { bus => "pcie.0", addr => 23 },
>        hostpci14bus0 => { bus => "pcie.0", addr => 24 },
>        hostpci15bus0 => { bus => "pcie.0", addr => 25 },
>}
>
>_______________________________________________________
>Christian Moser
>Mobile:    +358-40-5022105			
>Email:     cmos at maklee.com
>URL:       www.maklee.com
>-----Original Message-----
>From: DERUMIER, Alexandre <alexandre.derumier at groupe-cyllene.com> 
>Sent: Wednesday, August 14, 2024 09:45
>To: pve-devel at lists.proxmox.com; cmos at maklee.com
>Subject: Re: [pve-devel] issues with Virtio-SCSI devicde on Proxmox...
>
>Hi,
>
>I didn't see the responde of Fiona but indeed:
>
>https://lists.gnu.org/archive/html/qemu-devel/2021-09/msg01567.html
>
>"virtio devices can be exposed in upto three ways
>
> - Legacy - follows virtio 0.9 specification. always uses PCI
>            ID range 0x1000-0x103F
> - Transitional - follows virtio 0.9 specification by default, but
>                  can auto-negotiate with guest for 1.0 spce. Always
>                  uses PCI ID range 0x1000-0x103F
> - Modern - follows virtio 1.0 specification. always uses PCI
>            ID range 0x1040-0x107F
>
>With QEMU, historically devices placed on a PCI bus will always default
>to being in transitional mode, while devices placed on a PCI-E bus will
>always dfault to being in modern mode.
>"
>
>
>-------- Message initial --------
>De: Fiona Ebner <f.ebner at proxmox.com>
>Répondre à: Proxmox VE development discussion <pve-
>devel at lists.proxmox.com>
>À: Proxmox VE development discussion <pve-devel at lists.proxmox.com>,
>Christian Moser <cmos at maklee.com>
>Objet: Re: [pve-devel] issues with Virtio-SCSI devicde on Proxmox...
>Date: 13/08/2024 10:55:47
>
>Hi,
>
>Am 12.08.24 um 12:40 schrieb Christian Moser:
>> Hello,
>> 
>> I work for VSI (VMS Software Inc) which is porting the OpenVMS 
>> operating system to x86. At this point we successfully on various 
>> hypervisors, but have some issues on the KVM running on Proxmox.
>> 
>> The OpenVMS VM works just fine with SATA disks and it also works with
>> for example virtio-network device etc., but trying to use virtio-scsi
>> hangs  the driver. I have debugged this and I can successfully 
>> configure the port/controller, send the IO request to the device. It 
>> then gets processed by the device, which posts the results and sets 
>> the interrupt bit in the ISR register, but it never asserts the 
>> interrupt hence the driver never gets notified and the I/O hangs.
>> 
>> I have tried both “virtio-scsi-pci” and “virtio-scsi-single”, but no 
>> luck. The emulated virtio-scsi device is a legacy device. But then 
>> again, the virtio-network device is also a legacy device and here we 
>> are getting interrupts. One thing which bothers me is the fact that 
>> the “legacy interrupt disable” bit is set in the PCI config space of 
>> the virtio-scsi device (i.e. bit 10 at offset 4)
>> 
>> Questions:
>> * is there a way to configure a modern virtio-scsi devcie (i.e.
>> disable_legacy=on) ?
>
>I've already answered this question when you asked in a mail addressed
>directly to me:
>
>Am 12.08.24 um 11:58 schrieb Fiona Ebner:
>> Hi,
>> 
>> It seems that you either need to attach the "virtio-scsi-pci" device 
>> to a pcie bus or explicitly set the "disable_legacy=on" option for
>> the 
>> device, neither of which Proxmox VE currently does or allows 
>> configuring. The only way right now seems to be to attach the disk 
>> yourself via custom arguments (the 'args' in the Proxmox VE VM 
>> configuration), but then the disk will be invisible to Proxmox VE 
>> operations which look at specific disk keys in the configuration!
>> 
>> Feel free to open a feature request on our bug tracker to make this
>> configurable:
>> https://antiphishing.vadesecure.com/v4?f=MDk0SW9xRkhTVGYydkJlTIW3tbTr
>> aK7neiUoWcvis0-pokd-Q2cwuWCZhgBcTw_yw4KqJS-oP6jCsk-zj-
>> 1YMQ&i=ZURHSDhnY0huQ2tPS3VZahJdhRaQu1ItpJrYkl8wXrA&k=q1N6&r=RjIyR1Rob
>> kVxVWlHTXhKT3I72JjP2S9ryFg3B_csBogfeb2oROpP8B8yUJUd6awk&s=1aab5a2ada7
>> 3beb46aa02df4e18ff6c5ba2db6d6ff2d1f302a3c4c83b13c8ef6&u=https%3A%2F%2
>> Fbugzilla.proxmox.com%2F
>> 
>> P.S. Please write to the developer list rather than individual 
>> developers for such questions in the feature:
>> https://antiphishing.vadesecure.com/v4?f=MDk0SW9xRkhTVGYydkJlTIW3tbTr
>> aK7neiUoWcvis0-pokd-Q2cwuWCZhgBcTw_yw4KqJS-oP6jCsk-zj-
>> 1YMQ&i=ZURHSDhnY0huQ2tPS3VZahJdhRaQu1ItpJrYkl8wXrA&k=q1N6&r=RjIyR1Rob
>> kVxVWlHTXhKT3I72JjP2S9ryFg3B_csBogfeb2oROpP8B8yUJUd6awk&s=50133960c87
>> 16b5426bc084f398f7760f04af8739fd68cad36d17b1dcd887778&u=https%3A%2F%2
>> Flists.proxmox.com%2Fcgi-bin%2Fmailman%2Flistinfo%2Fpve-devel
>> 
>> Best Regards,
>> Fiona
>
>> * why is the legacy interrupt bit set in the PCI config space ?
>
>Most likely because the virtio-scsi-pci is configured without the
>"disable_legacy=on" option. If not explicitly set, the option will be
>"disable_legacy=auto" and when not attached to PCIe (which is the case
>for Proxmox VE currently), then legacy mode will be enabled.
>
>> * Are there any working driver for virtio-scsi on this KVM using Q35 
>> machine? i.e. any other OS
>
>The virtio drivers for Windows and the ones in Linux work just fine
>with our configuration.
>
>
>> Any thoughts why these interrupts are not getting delivered on the 
>> PCIE bus?
>
>We do not configure the virtio-scsi-pci on a PCIe bus currently, see my
>initial answer.
>
>Best Regards,
>Fiona
>
>
>_______________________________________________
>pve-devel mailing list
>pve-devel at lists.proxmox.com
>https://antiphishing.vadesecure.com/v4?f=MDk0SW9xRkhTVGYydkJlTIW3tbTraK
>
>7neiUoWcvis0-pokd-Q2cwuWCZhgBcTw_yw4KqJS-oP6jCsk-zj-
>1YMQ&i=ZURHSDhnY0huQ2tPS3VZahJdhRaQu1ItpJrYkl8wXrA&k=q1N6&r=RjIyR1RobkV
>
>xVWlHTXhKT3I72JjP2S9ryFg3B_csBogfeb2oROpP8B8yUJUd6awk&s=50133960c8716b5
>
>426bc084f398f7760f04af8739fd68cad36d17b1dcd887778&u=https%3A%2F%2Flists
>
>.proxmox.com%2Fcgi-bin%2Fmailman%2Flistinfo%2Fpve-devel


More information about the pve-devel mailing list