Index | Thread | Search

From:
Hrvoje Popovski <hrvoje@srce.hr>
Subject:
Re: Adjust amd64 IPLs
To:
Mark Kettenis <mark.kettenis@xs4all.nl>
Cc:
tech@openbsd.org
Date:
Tue, 2 Jan 2024 22:51:04 +0100

Download raw body.

Thread
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 :)