-
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