Thread (47 messages) 47 messages, 3 authors, 2025-12-05

Re: [PATCH v4 16/26] genirq: Allow per-cpu interrupt sharing for non-overlapping affinities

From: Daniel Thompson <danielt@kernel.org>
Date: 2025-12-05 09:19:55
Also in: linux-acpi, linux-mips, lkml

On Thu, Dec 04, 2025 at 02:21:51PM +0000, Marc Zyngier wrote:
On Thu, 04 Dec 2025 10:56:13 +0000,
Daniel Thompson [off-list ref] wrote:
quoted
CPU 0 Unable to handle kernel paging request at virtual address 0000000000000000, epc == ffffffff801c2398, ra == ffffffff801bab00
Oops[#1]:
CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.18.0-next-20251204 #20 NONE
Hardware name: mti,malta
$ 0   : 0000000000000000 0000000000000001 0000000000000000 0000000000000000
$ 4   : 0000000000000001 a8000000020e8008 0000000000000000 ffffffff80c23b80
$ 8   : 0000000000000004 0000000000000000 0000000000000000 000000000000002f
$12   : a8000000020f4000 0000000000003ff0 0000000000003000 0000000000000003
$16   : ffffffff80d095c0 ffffffff80ceb410 0000000000000019 ffffffff80c378c0
$20   : ffffffff80c4bec8 0000000000000000 ffffffff80e00000 ffffffff80de0000
$24   : 0000000000000000 0000000000000010
$28   : ffffffff80c20000 a8000000020f7ec0 a800000000e12fcd ffffffff801bab00
epc   : ffffffff801c2398 handle_percpu_devid_irq+0xb8/0x250
ra    : ffffffff801bab00 handle_irq_desc+0x48/0x88
Status: 1400a4e2	KX SX UX KERNEL EXL
Cause : 00800408 (ExcCode 02)
BadVA : 0000000000000000
PrId  : 0001a900 (MIPS I6400)
Modules linked in:
Process swapper/0 (pid: 0, threadinfo=(____ptrval____), task=(____ptrval____), tls=0000000000000000)
Stack : ffffffff80c35a2c 0000000000000002 ffffffff80e00000 0fffffffffffffff
        ffffffff80c50000 0000000000000001 0000000000000003 ffffffff801bab00
        0000000000000000 ffffffff805d82a8 0000000000000000 0000000000000008
        0000000000000000 0000000000000000 0000000000000000 5189d95a7a4f4800
        a800000002014300 0000000000000002 0000000000000001 000000000000001f
        ffffffff80e00000 0000000000000004 0000000000000000 ffffffff801bab00
        0000000000000000 ffffffff809ec128 0000000000000001 fffffffffffffffb
        0000000000000001 ffffffff805d7ebc 0000000000000000 0000000000000000
        ffffffff80c23c80 ffffffff80c50000 ffffffff80de0000 ffffffff80db0000
        0000000000000000 ffffffff80112f10 ffffffff80c23c80 0000000000000000
Call Trace:
[<ffffffff801c2398>] handle_percpu_devid_irq+0xb8/0x250
[<ffffffff801bab00>] handle_irq_desc+0x48/0x88
[<ffffffff805d82a8>] gic_irq_dispatch+0xc0/0x288
[<ffffffff801bab00>] handle_irq_desc+0x48/0x88
[<ffffffff809ec128>] do_domain_IRQ+0x28/0x40
[<ffffffff805d7ebc>] plat_irq_dispatch+0x64/0xe8
[<ffffffff80112f10>] handle_int+0x134/0x140
[<ffffffff80110dc8>] calibrate_delay+0x158/0x290
[<ffffffff80d58e48>] start_kernel+0x754/0x7a4
This hack fixes it for me, but really, mips needs to grow up and stop
using these antiquated APIs.
I can't comment on that. Literally the only thing I ever do on MIPS is
test kgdb ;-) .

Can please you give it a go?
Looks good to me.

Local testing on MIPS worked nicely and I got a successful build back
for the kgdb tests:
https://gitlab.com/daniel-thompson/linux/-/pipelines/2196473049


Daniel.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help