NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD 9.0 vs 8.0 network slow



Are you in position to compile custom kernel, can you please try
disabling msix and confirm that is indeed the problem?

Can you also please do pcidump for the device, and send it over to me?
Particular thing to watch for is whether the device supports more than
1 MSI-X vector, while it has only single MSI vector.

Attached patch will make the attach only use INTx and MSI.

Jaromir

Le lun. 13 avr. 2020 à 21:46, Dima Veselov <kab00m%lich.phys.spbu.ru@localhost> a écrit :
>
> Greetings,
>
> is there any chance to debug and fix msix problem or even bring it
> back to msi?
>
> It seems bge interface on 9.0 have only difference with 8.0 by having
> msix vs msi and it is making Dell R220 servers totally unusable with
> 9.0 because sometimes it takes seconds for a packet to leave interface.
>
> 07.04.2020 17:05, Dima Veselov пишет:
> >> Another possible issue is a switch from single interrupt to multiple msi
> >> (and bugs in that area). If you check your -8 and -9 dmesg you should see
> >> details printed about interrupts routed to the bge interfaces (not sure
> >> if you need to boot -v for that nowadays).
> >
> > There is no any difference except 8.1 find pic msi1 but 9.0 find pic msix1 here:
> >
> > [     1.033124] allocated pic msix1 type edge pin 0 level 6 to cpu0 slot 17 idt entry 99
> >
> > all other information is letter for letter. In a case of missing something
> > I've placed all output here: http://kab00m.ru/temp/almaz.tgz
>
> --
> Dima Veselov
> Physics R&D Establishment of Saint-Petersburg University
Index: if_bge.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/if_bge.c,v
retrieving revision 1.345
diff -u -p -r1.345 if_bge.c
--- if_bge.c	7 Feb 2020 00:04:28 -0000	1.345
+++ if_bge.c	13 Apr 2020 20:16:51 -0000
@@ -3579,7 +3579,7 @@ bge_attach(device_t parent, device_t sel
 	int counts[PCI_INTR_TYPE_SIZE] = {
 		[PCI_INTR_TYPE_INTX] = 1,
 		[PCI_INTR_TYPE_MSI] = 1,
-		[PCI_INTR_TYPE_MSIX] = 1,
+		[PCI_INTR_TYPE_MSIX] = 0,
 	};
 	int max_type = PCI_INTR_TYPE_MSIX;
 


Home | Main Index | Thread Index | Old Index