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

DERUMIER, Alexandre alexandre.derumier at groupe-cyllene.com
Wed Aug 14 14:22:12 CEST 2024


>>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