Port-xen archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
NR_PIRQS
Extract from booting 11.0_RC6 XEN3_DOM0 with Xen 4.20 on an IBM x3550M4:
[ 1.0000030] ixg0 at pci3 dev 0 function 0: Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 4.0.1-k
[ 1.0000030] ixg0: device 82599EB
[ 1.0000030] ixg0: ETrackID 800006c7
[ 1.0000030] ixg0: PBA number G70815-008
[ 1.0000030] panic: pirq 4991 out of bound, increase NR_PIRQS
[ 1.0000030] cpu0: Begin traceback...
[ 1.0000030] vpanic() at netbsd:vpanic+0x161
[ 1.0000030] panic() at netbsd:panic+0x3c
[ 1.0000030] bind_pirq_to_evtch() at netbsd:bind_pirq_to_evtch+0x93
[ 1.0000030] intr_establish_xname() at netbsd:intr_establish_xname+0xe1
[ 1.0000030] x86_pci_msix_establish() at netbsd:x86_pci_msix_establish+0x6d
[ 1.0000030] ixgbe_attach() at netbsd:ixgbe_attach+0x1dd6
NR_PIRQS is set to be the same as NR_EVENT_CHANNELS:
#define NR_PIRQS NR_EVENT_CHANNELS
https://nxr.netbsd.org/xref/src/sys/arch/xen/xen/evtchn.c#92
In turn, NR_EVENT_CHANNELS is set to be the same as EVTCHN_2L_NR_CHANNELS:
/*
* Event channel endpoints per domain (when using the 2-level ABI):
* 1024 if a long is 32 bits; 4096 if a long is 64 bits.
*/
#define NR_EVENT_CHANNELS EVTCHN_2L_NR_CHANNELS
https://nxr.netbsd.org/xref/src/sys/external/mit/xen-include-public/dist/xen/include/public/xen.h#619
And this is set to a calculated value which works out as the comment
above:
#define EVTCHN_2L_NR_CHANNELS (sizeof(xen_ulong_t) * sizeof(xen_ulong_t) * 64)
So if I want to increase NR_PIRQS to be at least 4991, do I increase just
NR_PIRQS, increase NR_EVENT_CHANNELS or increase EVTCHN_2L_NR_CHANNELS?
Is there any reason why this is set low and/or we haven't yet switched to
dynamic allocation?
--
Stephen
Home |
Main Index |
Thread Index |
Old Index