mirror of
https://github.com/opnsense/src.git
synced 2026-03-19 01:02:28 -04:00
Revert "intrng: switch from MAXCPU to mp_ncpus"
This reverts commit b4d11915c7.
This is a direct commit to stable/14. The change breaks booting
on older Raspberry Pi 4's, although that works on main. The cause
is unknown. The original commit should be redone on stable/14
if/when it catches up with main.
This commit is contained in:
parent
00cf2f3092
commit
3e627553bb
1 changed files with 11 additions and 11 deletions
|
|
@ -175,11 +175,11 @@ intr_irq_init(void *dummy __unused)
|
|||
|
||||
/*
|
||||
* - 2 counters for each I/O interrupt.
|
||||
* - mp_maxid + 1 counters for each IPI counters for SMP.
|
||||
* - MAXCPU counters for each IPI counters for SMP.
|
||||
*/
|
||||
nintrcnt = intr_nirq * 2;
|
||||
#ifdef SMP
|
||||
nintrcnt += INTR_IPI_COUNT * (mp_maxid + 1);
|
||||
nintrcnt += INTR_IPI_COUNT * MAXCPU;
|
||||
#endif
|
||||
|
||||
intrcnt = mallocarray(nintrcnt, sizeof(u_long), M_INTRNG,
|
||||
|
|
@ -312,18 +312,18 @@ intr_ipi_setup_counters(const char *name)
|
|||
mtx_lock(&isrc_table_lock);
|
||||
|
||||
/*
|
||||
* We should never have a problem finding mp_maxid + 1 contiguous
|
||||
* counters, in practice. Interrupts will be allocated sequentially
|
||||
* during boot, so the array should fill from low to high index. Once
|
||||
* reserved, the IPI counters will never be released. Similarly, we
|
||||
* will not need to allocate more IPIs once the system is running.
|
||||
* We should never have a problem finding MAXCPU contiguous counters,
|
||||
* in practice. Interrupts will be allocated sequentially during boot,
|
||||
* so the array should fill from low to high index. Once reserved, the
|
||||
* IPI counters will never be released. Similarly, we will not need to
|
||||
* allocate more IPIs once the system is running.
|
||||
*/
|
||||
bit_ffc_area(intrcnt_bitmap, nintrcnt, mp_maxid + 1, &index);
|
||||
bit_ffc_area(intrcnt_bitmap, nintrcnt, MAXCPU, &index);
|
||||
if (index == -1)
|
||||
panic("Failed to allocate %d counters. Array exhausted?",
|
||||
mp_maxid + 1);
|
||||
bit_nset(intrcnt_bitmap, index, index + mp_maxid);
|
||||
for (i = 0; i < mp_maxid + 1; i++) {
|
||||
MAXCPU);
|
||||
bit_nset(intrcnt_bitmap, index, index + MAXCPU - 1);
|
||||
for (i = 0; i < MAXCPU; i++) {
|
||||
snprintf(str, INTRNAME_LEN, "cpu%d:%s", i, name);
|
||||
intrcnt_setname(str, index + i);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue