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

Christian Moser cmos at maklee.com
Tue Aug 13 11:33:16 CEST 2024


Hello,

what I have been trying to tell is that both virtio-scsi and virtio-network device on Proxmox are both getting configured on PCIE. I do not understand why you claim that virtio-scsi is not configured on PCIE.

So both virtio-scsi and virtio-network devices on Proxmox are configured as legacy devices on PCIE and the virtio-network device works just fine and does get interrupts.
I also believe that the virtio-scsi device is working fine and it does set the interrupt bit in the ISR register, but no interrupt gets delivered to the driver.

I'm now trying to find out if the problem is on our side, i.e. that our PCIE "setup" is getting the interrupt, but not delivering it to the device. Or that we never got the interrupt and then the issue would most likely be in the Proxomox implementation. But your statement that other OS virtio-scsi devices are working fine might indicate the problem to be on our side.

We do have a problem with interrupt delivery on Virtualbox (by Oracle) and they acknowledged an issue with bridges and interrupt routing, that's why I was contacting Proxmox to see if there could be an issue there too

thanks

/cmos

_______________________________________________________
Christian Moser
Mobile:    +358-40-5022105			
Email:     cmos at maklee.com
URL:       www.maklee.com
-----Original Message-----
From: Fiona Ebner <f.ebner at proxmox.com> 
Sent: Tuesday, August 13, 2024 11:56
To: Proxmox VE development discussion <pve-devel at lists.proxmox.com>; Christian Moser <cmos at maklee.com>
Subject: Re: [pve-devel] issues with Virtio-SCSI devicde on Proxmox...

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://bugzilla.proxmox.com/
> 
> P.S. Please write to the developer list rather than individual 
> developers for such questions in the feature:
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-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




More information about the pve-devel mailing list