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:
Mike Karels 2024-05-14 17:44:58 -05:00
parent 00cf2f3092
commit 3e627553bb

View file

@ -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);
}