Download raw body.
Adjust amd64 IPLs
On 2.1.2024. 15:00, Mark Kettenis wrote: >> Date: Mon, 1 Jan 2024 20:27:07 +0100 >> From: Hrvoje Popovski <hrvoje@srce.hr> >> >> On 1.1.2024. 19:12, Mark Kettenis wrote: >>> On amd64, we only have 240 interrupt vectors, which means they're a >>> limited. And unless I'm terribly confused, we're not using 48 of >>> those because of the way we've assigned the priority levels. And with >>> more and more devices supporting multiple interrupt vectors, we can >>> put these to good use. So this diff rearranges the levels to make the >>> additonal vectors available for use. Since it most likely network >>> devices that need these, I leave a gap between between IPL_NET and >>> IPL_SOFTTTY. That way, it will take longer for IPL_NET interrupts to >>> spill over into the IPL_SOFTTTY range and mess up the interrupt >>> priorities. >>> >>> Now I vagelue remember something about trying something like this >>> before. So I want to make sure this doesn't cause any problems. >>> Therefore I'd appreciate it if people can test this, especially on >>> machines with lots of network devices. >> Hi, >> >> I'm having 24 core box with 4 ix, 2 mcx and 2 bnxt. Without this diff in >> dmesg i can see >> >> ahci2 at pci24 dev 0 function 0 "AMD FCH AHCI" rev 0x51: msi,failed to >> allocate interrupt slot for PIC msi pin -2143027200 >> ahci2: unable to map interrupt >> ppb21 at pci20 dev 8 function 3 "AMD 17h PCIE" rev 0x00 >> pci25 at ppb21 bus 69 >> ahci3 at pci25 dev 0 function 0 "AMD FCH AHCI" rev 0x51: msi,failed to >> allocate interrupt slot for PIC msi pin -2142961664 >> ahci3: unable to map interrupt >> >> and if I want do ifconfig up all interfaces, box freeze. >> >> With this diff dmesg seems normal and I can activate all interfaces.. >> Right now I can't generate traffic through interface but tomorrow I will. > Thanks, I had hoped you'd give this a spin for me ;). > > Let me know if you see anything strange when pushing some traffic > through those interfaces. > > Cheers, > > Mark Hi, I've tested forwarding and veb(4) bridging over ix, ixl and mcx interfaces and everything is working normally... I can't test all interfaces at the same time, but I think thats good enough ... Thank you for this diff. Because of this diff on my firewalls I can increase cpus from 12 to 16 with 4 mcx interfaces and change NET_TASKQ to 16 :)
Adjust amd64 IPLs