Re: biowait for seconds

Emmanuel Dreyfus <[email protected]>
Newsgroups gmane.os.netbsd.devel.kernel
Message-ID <[email protected]>
On Fri, Apr 18, 2025 at 04:22:09PM +0100, Robert Swindells wrote:
> Maybe read the suggestion as "find out why it isn't using msi".

I am back with some results with this. 

The nvme is available from a BOSS-N1 RAID controller. It is confgurable
from the BIOS and is able to export one RAID made of one or two NVME
(two in my case, but I tested one, no difference). It is not able to 
export the two NVME as-is. Removing the RAID set from the controller 
cause a nvme0ns1 (0 bytes) device to appear, and the biowait lags are
gone (but the NVME cannot be used, of course). 

I added many printfs to understand what is going on. MSI is not enabled
because the host bridge does not support it happens in 
sys/arch/x86/pci/pci_msi_machdep.c:pci_msix_alloc_common()

We have:
ppb0 at pci0 dev 10 function 0: Intel product 1bba (rev. 0x11)
pci1 at ppb0 bus 1
nvme0 at pci1 dev 0 function 0: Marvell product 2241 (rev. 0x20)
nvme0: NVMe 1.3
nvme0: interrupting at ioapic0 pin 16
nvme0: Dell BOSS-N1, firmware 11131069, serial VN0WW56VFCV004A801TY
ld0 at nvme0 nsid 1

pcictl pci0 dump -b 0 -d 10 -f 0 says:
(...)
  Capability register at 0x90
    type: 0x05 (MSI)
(...)
  PCI Message Signaled Interrupt
    Message Control register: 0x0100
      MSI Enabled: off

Hence the question is now how to enable MSI?




-- 
Emmanuel Dreyfus
[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.