- 
                Notifications
    You must be signed in to change notification settings 
- Fork 5.3k
Open
Description
Describe the bug
This somewhat mysterious line irq_chip rp1_irq_chip did not update eff. affinity mask of irq appears on every boot. It's a pr_warn_once which when turned into a plain WARN() prints a stacktrace for every requested IRQ. One example picked at random:
[    9.150053] ------------[ cut here ]------------
[    9.150059] irq_chip rp1_irq_chip did not update eff. affinity mask of irq 158
[    9.150067] WARNING: CPU: 3 PID: 252 at kernel/irq/manage.c:215 irq_do_set_affinity+0x130/0x1a8
[    9.150074] Modules linked in: rp1_mailbox(+) i2c_designware_core nvmem_rmem rp1_adc raspberrypi_gpiomem uio_pdrv_genirq uio sch_fq_codel i2c_dev fuse drm drm_panel_orientation_quirks backlight nfnetlink ip_tables x_tables ipv6
[    9.150091] CPU: 3 UID: 0 PID: 252 Comm: (udev-worker) Tainted: G        W          6.12.54-v8-16k+ #2
[    9.150095] Tainted: [W]=WARN
[    9.150096] Hardware name: Raspberry Pi 5 Model B Rev 1.0 (DT)
[    9.150098] pstate: 604000c9 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    9.150101] pc : irq_do_set_affinity+0x130/0x1a8
[    9.150103] lr : irq_do_set_affinity+0x130/0x1a8
[    9.150105] sp : ffffc000831c3740
[    9.150106] x29: ffffc000831c3740 x28: 0000000000000000 x27: ffff8000805c6580
[    9.150110] x26: ffff80003fbb75c8 x25: 0000000000000000 x24: ffffaf9070374000
[    9.150114] x23: ffffd06fcfdf6160 x22: ffff8000805cb200 x21: ffffd06fcfef6f58
[    9.150117] x20: ffff8000805cb230 x19: ffffd06fcf8435c8 x18: ffffffffffffffff
[    9.150121] x17: 312071726920666f x16: 206b73616d207974 x15: 696e69666661202e
[    9.150124] x14: 6666652065746164 x13: 3835312071726920 x12: 666f206b73616d20
[    9.150127] x11: 7974696e69666661 x10: ffffd06fcfcf04e8 x9 : ffffd06fce51d8f8
[    9.150131] x8 : 00000000ffffefff x7 : ffffd06fcfcf04e8 x6 : 0000000000000000
[    9.150134] x5 : ffff80003fbb7408 x4 : 0000000000000fff x3 : ffffaf9070374000
[    9.150138] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff8001c09d0800
[    9.150141] Call trace:
[    9.150142]  irq_do_set_affinity+0x130/0x1a8
[    9.150144]  irq_setup_affinity+0xc0/0x168
[    9.150147]  irq_startup+0x104/0x158
[    9.150150]  __setup_irq+0x3b8/0x6d0
[    9.150152]  request_threaded_irq+0xf4/0x1c0
[    9.150155]  devm_request_threaded_irq+0x88/0x110
[    9.150157]  rp1_mbox_probe+0x74/0x130 [rp1_mailbox]
[    9.150161]  platform_probe+0x70/0xf0
[    9.150165]  really_probe+0xc4/0x2a8
[    9.150167]  __driver_probe_device+0x80/0x140
[    9.150169]  driver_probe_device+0x48/0x170
[    9.150171]  __driver_attach+0x9c/0x1b0
[    9.150172]  bus_for_each_dev+0x7c/0xe8
[    9.150176]  driver_attach+0x2c/0x40
[    9.150179]  bus_add_driver+0xec/0x218
[    9.150182]  driver_register+0x68/0x138
[    9.150184]  __platform_driver_register+0x2c/0x40
[    9.150186]  rp1_mbox_driver_init+0x28/0x3ff8 [rp1_mailbox]
[    9.150189]  do_one_initcall+0x4c/0x280
[    9.150192]  do_init_module+0x60/0x230
[    9.150194]  load_module+0x1c90/0x1d80
[    9.150196]  __do_sys_init_module+0x180/0x200
[    9.150198]  __arm64_sys_init_module+0x24/0x38
[    9.150200]  invoke_syscall+0x50/0x120
[    9.150204]  el0_svc_common.constprop.0+0xd0/0xf8
[    9.150207]  do_el0_svc+0x28/0x40
[    9.150210]  el0_svc+0x30/0x100
[    9.150213]  el0t_64_sync_handler+0x13c/0x158
[    9.150216]  el0t_64_sync+0x190/0x198
[    9.150218] ---[ end trace 0000000000000000 ]---
I do note that my previous suggestion of using msi_domain_set_affinity() in #6077 a) isn't widely used among other ITS-like drivers, and b) doesn't call irq_data_update_effective_affinity().
Steps to reproduce the behaviour
dmesg -l warn
Device (s)
Raspberry Pi 5
System
Bookworm | Trixie
Logs
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
No labels