2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/scripts/gdb/linux
Florian Fainelli a02b0cde8e scripts/gdb: fix interrupts.py after maple tree conversion
In commit 721255b982 ("genirq: Use a maple tree for interrupt descriptor
management"), the irq_desc_tree was replaced with a sparse_irqs tree using
a maple tree structure.  Since the script looked for the irq_desc_tree
symbol which is no longer available, no interrupts would be printed and
the script output would not be useful anymore.

In addition to looking up the correct symbol (sparse_irqs), a new module
(mapletree.py) is added whose mtree_load() implementation is largely
copied after the C version and uses the same variable and intermediate
function names wherever possible to ensure that both the C and Python
version be updated in the future.

This restores the scripts' output to match that of /proc/interrupts.

Link: https://lkml.kernel.org/r/20250625021020.1056930-1-florian.fainelli@broadcom.com
Fixes: 721255b982 ("genirq: Use a maple tree for interrupt descriptor management")
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Kieran Bingham <kbingham@kernel.org>
Cc: Shanker Donthineni <sdonthineni@nvidia.com>
Cc: Thomas Gleinxer <tglx@linutronix.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-07-09 21:07:53 -07:00
..
__init__.py scripts/gdb: add empty package initialization script 2015-02-28 09:57:51 -08:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
clk.py scripts/gdb: bail early if there are no clocks 2023-04-08 13:45:38 -07:00
config.py scripts/gdb: change kernel config dumping method 2022-06-11 18:31:53 +09:00
constants.py.in scripts/gdb: fix interrupts.py after maple tree conversion 2025-07-09 21:07:53 -07:00
cpus.py scripts/gdb: update documentation for lx_per_cpu 2025-05-11 17:54:13 -07:00
device.py scripts/gdb: fix lx-device-list-bus and lx-device-list-class 2023-12-06 16:12:49 -08:00
dmesg.py scripts/gdb: fix 'lx-dmesg' on 32 bits arch 2022-07-21 15:32:52 +02:00
genpd.py scripts/gdb: bail early if there are no generic PD 2023-04-08 13:45:38 -07:00
interrupts.py scripts/gdb: fix interrupts.py after maple tree conversion 2025-07-09 21:07:53 -07:00
kasan.py scripts/gdb: add 'lx-kasan_mem_to_shadow' command 2024-09-01 20:43:29 -07:00
lists.py scripts/gdb: fix list_for_each 2021-02-26 09:41:05 -08:00
Makefile kbuild: scripts/gdb: bring the "abspath" back 2024-06-27 04:20:32 +09:00
mapletree.py scripts/gdb: fix interrupts.py after maple tree conversion 2025-07-09 21:07:53 -07:00
mm.py scripts/gdb: change VA_BITS_MIN when we use 16K page 2024-06-28 19:36:29 -07:00
modules.py gdb: lx-symbols: do not error out on monolithic build 2024-11-14 22:51:14 -08:00
page_owner.py scripts/gdb: remove exception handling and refine print format 2023-12-10 17:21:49 -08:00
pgtable.py x86/mm/64: Always use dynamic memory layout 2025-05-17 10:33:44 +02:00
proc.py scripts/gdb: fix lx-mounts command error 2024-09-01 20:43:28 -07:00
radixtree.py scripts/gdb: add a Radix Tree Parser 2023-04-18 16:39:33 -07:00
rbtree.py scripts/gdb: add iteration function for rbtree 2024-09-01 20:43:28 -07:00
slab.py scripts/gdb: remove exception handling and refine print format 2023-12-10 17:21:49 -08:00
stackdepot.py scripts/gdb: add 'lx-stack_depot_lookup' command. 2024-09-01 20:43:28 -07:00
symbols.py scripts/gdb/symbols: determine KASLR offset on s390 during early boot 2025-05-21 10:48:25 -07:00
tasks.py scripts/gdb: make get_thread_info accept pointers 2024-05-08 08:41:28 -07:00
timerlist.py scripts/gdb: fix timerlist parsing issue 2024-09-01 20:43:28 -07:00
utils.py scripts/gdb/symbols: factor out pagination_off() 2025-05-21 10:48:24 -07:00
vfs.py scripts/gdb: fix dentry_name() lookup 2025-06-25 15:55:03 -07:00
vmalloc.py scripts/gdb/vmalloc: fix vmallocinfo error 2024-02-21 16:00:02 -08:00
xarray.py scripts/gdb: fix interrupts.py after maple tree conversion 2025-07-09 21:07:53 -07:00