Hello Peter, On Thu, Oct 03, 2024 at 05:32:31PM +0200, Peter Zijlstra wrote: > On Thu, Oct 03, 2024 at 07:51:20AM -0700, Breno Leitao wrote: > > Upstream kernel (6.12-rc1) has a new lockdep splat, that I am sharing to > > get more visibility: > > > > WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected > > > > This is happening because the HARDIRQ-irq-unsafe "_xmit_ETHER#2" lock is > > acquired in virtnet_poll_tx() while holding the HARDIRQ-irq-safe, and > > lockdep doesn't like it much. > > > > I've bisected the problem, and weirdly enough, this problem started to > > show up after a unrelated(?) change in the scheduler: > > > > 52e11f6df293e816a ("sched/fair: Implement delayed dequeue") > > > > At this time, I have the impression that the commit above exposed the > > problem that was there already. > > > > Here is the full log, based on commit 7ec462100ef91 ("Merge tag > > 'pull-work.unaligned' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs") > > This looks like the normal lockdep splat you get when the scheduler does > printk. I suspect you tripped a WARN, but since you only provided the > lockdep output and not the whole log, I cannot tell. Thanks for the quick answer. I didn't see a warning before the lockdep splat, at least in the usual way I am familiar with. Let me past the full log below. > There is a fix in: > > git://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/urgent > > that might, or might not help. I can't tell. Thanks. I will try it soon. I just booted a clean VM, here is the full log: Linux version 6.11.0-rc1-kbuilder-00044-g152e11f6df29 (leit@xxxxxxxxxxxxxxxxxxxxxxxxxx) (clang version 20.0.0git (https://github.com/llvm/llvm-project.git d0f67773b213383b6e1c9331fb00f2d4c14bfcb2), LLD 18.0.0) #47 SMP Thu Oct 3 07:23:47 PDT 2024 Command line: virtme_hostname=virtme-ng nr_open=2500000 virtme_link_mods=/home/leit/Devel/upstream/.virtme_mods/lib/modules/0.0.0 console=hvc0 earlyprintk=serial,ttyS0,115200 virtme_console=ttyS0 psmouse.proto=exps "virtme_stty_con=rows 45 cols 101 iutf8" TERM=xterm-256color virtme.dhcp net.ifnames=0 biosdevname=0 virtme_chdir=home/leit/Devel/upstream netconsole=+6666@2401:db00:3120:21a9:1111:0000:0270:0000/eth0,1514@2803:6080:a89c:a670::1/02:90:fb:66:aa:e5 init=/home/leit/venv/lib/python3.8/site-packages/virtme/guest/bin/virtme-ng-init KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD BIOS-provided physical RAM map: BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved BIOS-e820: [mem 0x0000000000100000-0x00000000bffdffff] usable BIOS-e820: [mem 0x00000000bffe0000-0x00000000bfffffff] reserved BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved BIOS-e820: [mem 0x0000000100000000-0x00000002bfffffff] usable BIOS-e820: [mem 0x000000fd00000000-0x000000ffffffffff] reserved printk: legacy bootconsole [earlyser0] enabled NX (Execute Disable) protection: active APIC: Static calls initialized SMBIOS 2.8 present. DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 DMI: Memory slots populated: 1/1 Hypervisor detected: KVM kvm-clock: Using msrs 4b564d01 and 4b564d00 kvm-clock: using sched offset of 932970338 cycles clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns tsc: Detected 1199.999 MHz processor e820: update [mem 0x00000000-0x00000fff] usable ==> reserved e820: remove [mem 0x000a0000-0x000fffff] usable last_pfn = 0x2c0000 max_arch_pfn = 0x400000000 MTRR map: 4 entries (3 fixed + 1 variable; max 19), built from 8 variable MTRRs x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT last_pfn = 0xbffe0 max_arch_pfn = 0x400000000 Using GB pages for direct mapping RAMDISK: [mem 0xbf996000-0xbffdffff] ACPI: Early table checksum verification disabled ACPI: RSDP 0x00000000000F5270 000014 (v00 BOCHS ) ACPI: RSDT 0x00000000BFFE2C55 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001) ACPI: FACP 0x00000000BFFE2889 000074 (v01 BOCHS BXPC 00000001 BXPC 00000001) ACPI: DSDT 0x00000000BFFE0040 002849 (v01 BOCHS BXPC 00000001 BXPC 00000001) ACPI: FACS 0x00000000BFFE0000 000040 ACPI: APIC 0x00000000BFFE28FD 000110 (v03 BOCHS BXPC 00000001 BXPC 00000001) ACPI: HPET 0x00000000BFFE2A0D 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001) ACPI: SRAT 0x00000000BFFE2A45 0001E8 (v01 BOCHS BXPC 00000001 BXPC 00000001) ACPI: WAET 0x00000000BFFE2C2D 000028 (v01 BOCHS BXPC 00000001 BXPC 00000001) ACPI: Reserving FACP table memory at [mem 0xbffe2889-0xbffe28fc] ACPI: Reserving DSDT table memory at [mem 0xbffe0040-0xbffe2888] ACPI: Reserving FACS table memory at [mem 0xbffe0000-0xbffe003f] ACPI: Reserving APIC table memory at [mem 0xbffe28fd-0xbffe2a0c] ACPI: Reserving HPET table memory at [mem 0xbffe2a0d-0xbffe2a44] ACPI: Reserving SRAT table memory at [mem 0xbffe2a45-0xbffe2c2c] ACPI: Reserving WAET table memory at [mem 0xbffe2c2d-0xbffe2c54] SRAT: PXM 0 -> APIC 0x00 -> Node 0 SRAT: PXM 0 -> APIC 0x01 -> Node 0 SRAT: PXM 0 -> APIC 0x02 -> Node 0 SRAT: PXM 0 -> APIC 0x03 -> Node 0 SRAT: PXM 0 -> APIC 0x04 -> Node 0 SRAT: PXM 0 -> APIC 0x05 -> Node 0 SRAT: PXM 0 -> APIC 0x06 -> Node 0 SRAT: PXM 0 -> APIC 0x07 -> Node 0 SRAT: PXM 0 -> APIC 0x08 -> Node 0 SRAT: PXM 0 -> APIC 0x09 -> Node 0 SRAT: PXM 0 -> APIC 0x0a -> Node 0 SRAT: PXM 0 -> APIC 0x0b -> Node 0 SRAT: PXM 0 -> APIC 0x0c -> Node 0 SRAT: PXM 0 -> APIC 0x0d -> Node 0 SRAT: PXM 0 -> APIC 0x0e -> Node 0 SRAT: PXM 0 -> APIC 0x0f -> Node 0 SRAT: PXM 0 -> APIC 0x10 -> Node 0 SRAT: PXM 0 -> APIC 0x11 -> Node 0 SRAT: PXM 0 -> APIC 0x12 -> Node 0 SRAT: PXM 0 -> APIC 0x13 -> Node 0 ACPI: SRAT: Node 0 PXM 0 [mem 0x00000000-0x0009ffff] ACPI: SRAT: Node 0 PXM 0 [mem 0x00100000-0xbfffffff] ACPI: SRAT: Node 0 PXM 0 [mem 0x100000000-0x2bfffffff] NUMA: Node 0 [mem 0x00000000-0x0009ffff] + [mem 0x00100000-0xbfffffff] -> [mem 0x00000000-0xbfffffff] NUMA: Node 0 [mem 0x00000000-0xbfffffff] + [mem 0x100000000-0x2bfffffff] -> [mem 0x00000000-0x2bfffffff] NODE_DATA(0) allocated [mem 0x2bfffa000-0x2bfffdfff] Zone ranges: DMA [mem 0x0000000000001000-0x0000000000ffffff] DMA32 [mem 0x0000000001000000-0x00000000ffffffff] Normal [mem 0x0000000100000000-0x00000002bfffffff] Device empty Movable zone start for each node Early memory node ranges node 0: [mem 0x0000000000001000-0x000000000009efff] node 0: [mem 0x0000000000100000-0x00000000bffdffff] node 0: [mem 0x0000000100000000-0x00000002bfffffff] Initmem setup node 0 [mem 0x0000000000001000-0x00000002bfffffff] On node 0, zone DMA: 1 pages in unavailable ranges On node 0, zone DMA: 97 pages in unavailable ranges On node 0, zone Normal: 32 pages in unavailable ranges ACPI: PM-Timer IO Port: 0x608 ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1]) IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level) ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level) ACPI: Using ACPI (MADT) for SMP configuration information ACPI: HPET id: 0x8086a201 base: 0xfed00000 TSC deadline timer available CPU topo: Max. logical packages: 1 CPU topo: Max. logical dies: 1 CPU topo: Max. dies per package: 1 CPU topo: Max. threads per core: 1 CPU topo: Num. cores per package: 20 CPU topo: Num. threads per package: 20 CPU topo: Allowing 20 present CPUs plus 0 hotplug CPUs kvm-guest: APIC: eoi() replaced with kvm_guest_apic_eoi_write() kvm-guest: KVM setup pv remote TLB flush kvm-guest: setup PV sched yield [mem 0xc0000000-0xfeffbfff] available for PCI devices Booting paravirtualized kernel on KVM clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns setup_percpu: NR_CPUS:512 nr_cpumask_bits:20 nr_cpu_ids:20 nr_node_ids:1 percpu: Embedded 82 pages/cpu s299008 r8192 d28672 u524288 pcpu-alloc: s299008 r8192 d28672 u524288 alloc=1*2097152 pcpu-alloc: [0] 00 01 02 03 [0] 04 05 06 07 pcpu-alloc: [0] 08 09 10 11 [0] 12 13 14 15 pcpu-alloc: [0] 16 17 18 19 Kernel command line: virtme_hostname=virtme-ng nr_open=2500000 virtme_link_mods=/home/leit/Devel/upstream/.virtme_mods/lib/modules/0.0.0 console=hvc0 earlyprintk=serial,ttyS0,115200 virtme_console=ttyS0 psmouse.proto=exps "virtme_stty_con=rows 45 cols 101 iutf8" TERM=xterm-256color virtme.dhcp net.ifnames=0 biosdevname=0 virtme_chdir=home/leit/Devel/upstream netconsole=+6666@2401:db00:3120:21a9:face:0000:0270:0000/eth0,1514@2803:6080:a89c:a670::1/02:90:fb:66:aa:e5 init=/home/leit/venv/lib/python3.8/site-packages/virtme/guest/bin/virtme-ng-init Unknown kernel command line parameters "virtme_hostname=virtme-ng nr_open=2500000 virtme_link_mods=/home/leit/Devel/upstream/.virtme_mods/lib/modules/0.0.0 virtme_console=ttyS0 virtme_stty_con=rows 45 cols 101 iutf8 biosdevname=0 virtme_chdir=home/leit/Devel/upstream", will be passed to user space. random: crng init done Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes, linear) Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear) Fallback order for Node 0: 0 Built 1 zonelists, mobility grouping on. Total pages: 2621310 Policy zone: Normal mem auto-init: stack:off, heap alloc:off, heap free:off stackdepot: allocating hash table via alloc_large_system_hash stackdepot hash table entries: 1048576 (order: 12, 16777216 bytes, linear) software IO TLB: area num 32. SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=20, Nodes=1 ftrace: allocating 46490 entries in 182 pages ftrace: allocated 182 pages with 5 groups Running RCU self tests Running RCU synchronous self tests rcu: Hierarchical RCU implementation. rcu: RCU lockdep checking is enabled. rcu: RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=20. Rude variant of Tasks RCU enabled. Tracing variant of Tasks RCU enabled. rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies. rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=20 Running RCU synchronous self tests RCU Tasks Rude: Setting shift to 5 and lim to 1 rcu_task_cb_adjust=1. RCU Tasks Trace: Setting shift to 5 and lim to 1 rcu_task_cb_adjust=1. NR_IRQS: 33024, nr_irqs: 584, preallocated irqs: 16 rcu: srcu_init: Setting srcu_struct sizes based on contention. kfence: initialized - using 2097152 bytes for 255 objects at 0x(____ptrval____)-0x(____ptrval____) Console: colour *CGA 80x25 Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar ... MAX_LOCKDEP_SUBCLASSES: 8 ... MAX_LOCK_DEPTH: 48 ... MAX_LOCKDEP_KEYS: 8192 ... CLASSHASH_SIZE: 4096 ... MAX_LOCKDEP_ENTRIES: 32768 ... MAX_LOCKDEP_CHAINS: 65536 ... CHAINHASH_SIZE: 32768 memory used by lock dependency info: 6429 kB memory used for stack traces: 4224 kB per task-struct memory footprint: 1920 bytes ACPI: Core revision 20240322 clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns APIC: Switch to symmetric I/O mode setup x2apic enabled APIC: Switched APIC routing to: physical x2apic kvm-guest: APIC: send_IPI_mask() replaced with kvm_send_ipi_mask() kvm-guest: APIC: send_IPI_mask_allbutself() replaced with kvm_send_ipi_mask_allbutself() kvm-guest: setup PV IPIs ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 tsc: Marking TSC unstable due to TSCs unsynchronized Calibrating delay loop (skipped) preset value.. 2399.99 BogoMIPS (lpj=1199999) x86/cpu: User Mode Instruction Prevention (UMIP) activated Last level iTLB entries: 4KB 512, 2MB 255, 4MB 127 Last level dTLB entries: 4KB 512, 2MB 255, 4MB 127, 1GB 0 Spectre V2 : User space: Vulnerable Speculative Store Bypass: Vulnerable x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers' x86/fpu: Supporting XSAVE feature 0x020: 'AVX-512 opmask' x86/fpu: Supporting XSAVE feature 0x040: 'AVX-512 Hi256' x86/fpu: Supporting XSAVE feature 0x080: 'AVX-512 ZMM_Hi256' x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers' x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 x86/fpu: xstate_offset[5]: 832, xstate_sizes[5]: 64 x86/fpu: xstate_offset[6]: 896, xstate_sizes[6]: 512 x86/fpu: xstate_offset[7]: 1408, xstate_sizes[7]: 1024 x86/fpu: xstate_offset[9]: 2432, xstate_sizes[9]: 8 x86/fpu: Enabled xstate features 0x2e7, context size is 2440 bytes, using 'compacted' format. Freeing SMP alternatives memory: 48K pid_max: default: 32768 minimum: 301 LSM: initializing lsm=capability,ima Mount-cache hash table entries: 32768 (order: 6, 262144 bytes, linear) Mountpoint-cache hash table entries: 32768 (order: 6, 262144 bytes, linear) Running RCU synchronous self tests Running RCU synchronous self tests smpboot: CPU0: AMD EPYC-Milan Processor (family: 0x19, model: 0x1, stepping: 0x1) psi: inconsistent task state! task=1:swapper/0 cpu=0 psi_flags=4 clear=0 set=4 Running RCU Tasks Rude wait API self tests Running RCU Tasks Trace wait API self tests Performance Events: Fam17h+ core perfctr, AMD PMU driver. ... version: 0 ... bit width: 48 ... generic registers: 6 ... value mask: 0000ffffffffffff ... max period: 00007fffffffffff ... fixed-purpose events: 0 ... event mask: 000000000000003f Callback from call_rcu_tasks_trace() invoked. signal: max sigframe size: 3376 rcu: Hierarchical SRCU implementation. rcu: Max phase no-delay instances is 400. Timer migration: 2 hierarchy levels; 8 children per group; 2 crossnode level smp: Bringing up secondary CPUs ... smpboot: x86: Booting SMP configuration: .... node #0, CPUs: #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #12 #13 #14 #15 #16 Callback from call_rcu_tasks_rude() invoked. #17 #18 #19 smp: Brought up 1 node, 20 CPUs smpboot: Total of 20 processors activated (47999.96 BogoMIPS) Memory: 10121020K/10485240K available (18432K kernel code, 9105K rwdata, 6216K rodata, 1884K init, 21012K bss, 350648K reserved, 0K cma-reserved) devtmpfs: initialized x86/mm: Memory block size: 128MB Running RCU synchronous self tests Running RCU synchronous self tests clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns futex hash table entries: 8192 (order: 8, 1048576 bytes, linear) NET: Registered PF_NETLINK/PF_ROUTE protocol family DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations audit: initializing netlink subsys (disabled) audit: type=2000 audit(1727965453.220:1): state=initialized audit_enabled=0 res=1 thermal_sys: Registered thermal governor 'step_wise' thermal_sys: Registered thermal governor 'user_space' cpuidle: using governor menu dca service started, version 1.12.1 PCI: Using configuration type 1 for base access PCI: Using configuration type 1 for extended access kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible. HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page cryptd: max_cpu_qlen set to 1000 raid6: avx512x4 gen() 31451 MB/s raid6: avx512x2 gen() 34478 MB/s raid6: avx512x1 gen() 31905 MB/s raid6: avx2x4 gen() 34476 MB/s raid6: avx2x2 gen() 37438 MB/s raid6: avx2x1 gen() 32283 MB/s raid6: using algorithm avx2x2 gen() 37438 MB/s raid6: .... xor() 29574 MB/s, rmw enabled raid6: using avx512x2 recovery algorithm ACPI: Added _OSI(Module Device) ACPI: Added _OSI(Processor Device) ACPI: Added _OSI(3.0 _SCP Extensions) ACPI: Added _OSI(Processor Aggregator Device) ACPI: 1 ACPI AML tables successfully acquired and loaded ACPI: Interpreter enabled ACPI: PM: (supports S0 S5) ACPI: Using IOAPIC for interrupt routing PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug PCI: Using E820 reservations for host bridge windows ACPI: Enabled 2 GPEs in block 00 to 0F ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3] PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window] pci_bus 0000:00: root bus resource [mem 0xc000000000-0xc07fffffff window] pci_bus 0000:00: root bus resource [bus 00-ff] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000 conventional PCI endpoint pci 0000:00:01.0: [8086:7000] type 00 class 0x060100 conventional PCI endpoint pci 0000:00:01.1: [8086:7010] type 00 class 0x010180 conventional PCI endpoint pci 0000:00:01.1: BAR 4 [io 0xc060-0xc06f] pci 0000:00:01.1: BAR 0 [io 0x01f0-0x01f7]: legacy IDE quirk pci 0000:00:01.1: BAR 1 [io 0x03f6]: legacy IDE quirk pci 0000:00:01.1: BAR 2 [io 0x0170-0x0177]: legacy IDE quirk pci 0000:00:01.1: BAR 3 [io 0x0376]: legacy IDE quirk pci 0000:00:01.3: [8086:7113] type 00 class 0x068000 conventional PCI endpoint pci 0000:00:01.3: quirk: [io 0x0600-0x063f] claimed by PIIX4 ACPI pci 0000:00:01.3: quirk: [io 0x0700-0x070f] claimed by PIIX4 SMB pci 0000:00:02.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint pci 0000:00:02.0: BAR 1 [mem 0xfebc0000-0xfebc0fff] pci 0000:00:02.0: BAR 4 [mem 0xc000000000-0xc000003fff 64bit pref] pci 0000:00:03.0: [8086:25ab] type 00 class 0x088000 conventional PCI endpoint pci 0000:00:03.0: BAR 0 [mem 0xfebc1000-0xfebc100f] pci 0000:00:04.0: [1af4:1003] type 00 class 0x078000 conventional PCI endpoint pci 0000:00:04.0: BAR 0 [io 0xc000-0xc03f] pci 0000:00:04.0: BAR 1 [mem 0xfebc2000-0xfebc2fff] pci 0000:00:04.0: BAR 4 [mem 0xc000004000-0xc000007fff 64bit pref] pci 0000:00:05.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint pci 0000:00:05.0: BAR 0 [io 0xc040-0xc05f] pci 0000:00:05.0: BAR 1 [mem 0xfebc3000-0xfebc3fff] pci 0000:00:05.0: BAR 4 [mem 0xc000008000-0xc00000bfff 64bit pref] pci 0000:00:05.0: ROM [mem 0xfeb80000-0xfebbffff pref] ACPI: PCI: Interrupt link LNKA configured for IRQ 10 ACPI: PCI: Interrupt link LNKB configured for IRQ 10 ACPI: PCI: Interrupt link LNKC configured for IRQ 11 ACPI: PCI: Interrupt link LNKD configured for IRQ 11 ACPI: PCI: Interrupt link LNKS configured for IRQ 9 iommu: Default domain type: Translated iommu: DMA domain TLB invalidation policy: lazy mode SCSI subsystem initialized libata version 3.00 loaded. ACPI: bus type USB registered usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@xxxxxxxx> PTP clock support registered PCI: Using ACPI for IRQ routing PCI: pci_cache_line_size set to 64 bytes e820: reserve RAM buffer [mem 0x0009fc00-0x0009ffff] e820: reserve RAM buffer [mem 0xbffe0000-0xbfffffff] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0 hpet0: 3 comparators, 64-bit 100.000000 MHz counter clocksource: Switched to clocksource kvm-clock VFS: Disk quotas dquot_6.6.0 VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) pnp: PnP ACPI init pnp 00:02: [dma 2] pnp: PnP ACPI: found 5 devices clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns NET: Registered PF_INET protocol family IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear) tcp_listen_portaddr_hash hash table entries: 8192 (order: 7, 589824 bytes, linear) Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) TCP established hash table entries: 131072 (order: 8, 1048576 bytes, linear) TCP bind hash table entries: 65536 (order: 11, 9437184 bytes, vmalloc hugepage) TCP: Hash tables configured (established 131072 bind 65536) UDP hash table entries: 8192 (order: 8, 1310720 bytes, linear) UDP-Lite hash table entries: 8192 (order: 8, 1310720 bytes, linear) NET: Registered PF_UNIX/PF_LOCAL protocol family NET: Registered PF_XDP protocol family pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window] pci_bus 0000:00: resource 7 [mem 0xc0000000-0xfebfffff window] pci_bus 0000:00: resource 8 [mem 0xc000000000-0xc07fffffff window] pci 0000:00:01.0: PIIX3: Enabling Passive Release pci 0000:00:00.0: Limiting direct PCI/PCI transfers PCI: CLS 0 bytes, default 64 PCI-DMA: Using software bounce buffering for IO (SWIOTLB) Trying to unpack rootfs image as initramfs... software IO TLB: mapped [mem 0x00000000bb996000-0x00000000bf996000] (64MB) kvm_intel: VMX not supported by CPU 1 kvm_amd: TSC scaling supported kvm_amd: Nested Virtualization enabled kvm_amd: Nested Paging enabled kvm_amd: LBR virtualization supported Freeing initrd memory: 6440K Initialise system trusted keyrings workingset: timestamp_bits=43 max_order=22 bucket_order=0 9p: Installing v9fs 9p2000 file system support NET: Registered PF_ALG protocol family xor: automatically using best checksumming function avx Key type asymmetric registered Asymmetric key parser 'x509' registered Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246) io scheduler mq-deadline registered io scheduler kyber registered ioatdma: Intel(R) QuickData Technology Driver 5.00 ACPI: \_SB_.LNKB: Enabled at IRQ 10 ACPI: \_SB_.LNKD: Enabled at IRQ 11 ACPI: \_SB_.LNKA: Enabled at IRQ 10 Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A printk: legacy console [hvc0] enabled printk: legacy bootconsole [earlyser0] disabled brd: module loaded usbcore: registered new interface driver ark3116 usbserial: USB Serial support registered for ark3116 usbcore: registered new interface driver pl2303 usbserial: USB Serial support registered for pl2303 i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12 serio: i8042 KBD port at 0x60,0x64 irq 1 serio: i8042 AUX port at 0x60,0x64 irq 12 rtc_cmos 00:04: RTC can wake from S4 rtc_cmos 00:04: registered as rtc0 rtc_cmos 00:04: setting system clock to 2024-10-03T14:24:13 UTC (1727965453) rtc_cmos 00:04: alarms up to one day, y3k, 242 bytes nvram, hpet irqs i6300ESB timer 0000:00:03.0: initialized. heartbeat=30 sec (nowayout=0) input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0 usbcore: registered new interface driver usbhid usbhid: USB HID core driver Initializing XFRM netlink socket NET: Registered PF_INET6 protocol family Segment Routing with IPv6 In-situ OAM (IOAM) with IPv6 NET: Registered PF_PACKET protocol family 9pnet: Installing 9P2000 support Key type dns_resolver registered IPI shorthand broadcast: enabled AES CTR mode by8 optimization enabled registered taskstats version 1 Loading compiled-in X.509 certificates virtme initramfs: initramfs does not have module crypto-pkcs1pad(rsa,sha512) virtme initramfs: initramfs does not have module crypto-pkcs1pad(rsa,sha512)-all Loaded X.509 cert 'Build time autogenerated kernel key: 1a58da0881b870ef3decd7cf414d45e41b0e363a' Demotion targets for Node 0: null kmemleak: Kernel memory leak detector initialized (mem pool available: 15766) kmemleak: Automatic memory scanning thread started Btrfs loaded, zoned=no, fsverity=yes ima: No TPM chip found, activating TPM-bypass! ima: Allocated hash algorithm: sha256 ima: No architecture policies found netpoll: netconsole: local port 6666 netpoll: netconsole: local IPv6 address 2401:db00:3120:21a9:face:0:270:0 netpoll: netconsole: interface 'eth0' netpoll: netconsole: remote port 1514 netpoll: netconsole: remote IPv6 address 2803:6080:a89c:a670::1 netpoll: netconsole: remote ethernet address 02:90:fb:66:aa:e5 netpoll: netconsole: device eth0 not up yet, forcing it printk: legacy console [netcon_ext0] enabled ===================================================== WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected 6.11.0-rc1-kbuilder-00044-g152e11f6df29 #47 Not tainted ----------------------------------------------------- swapper/0/1 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: ffff8881027702d8 (_xmit_ETHER#2){+.-.}-{3:3}, at: virtnet_poll_tx+0x94/0x210 and this task is already holding: ffffffff8325b808 (target_list_lock){....}-{3:3}, at: write_ext_msg+0x4e/0x3a0 which would create a new lock dependency: (target_list_lock){....}-{3:3} -> (_xmit_ETHER#2){+.-.}-{3:3} but this new dependency connects a HARDIRQ-irq-safe lock: (console_owner){-...}-{0:0} ... which became HARDIRQ-irq-safe at: lock_acquire+0xe6/0x240 console_flush_all+0x31d/0x580 console_unlock+0x49/0x160 wake_up_klogd_work_func+0x68/0xa0 irq_work_run_list+0x9b/0xe0 update_process_times+0x88/0xa0 tick_handle_periodic+0x22/0x80 __sysvec_apic_timer_interrupt+0x74/0x1c0 sysvec_apic_timer_interrupt+0x6c/0x80 asm_sysvec_apic_timer_interrupt+0x1a/0x20 clear_page_erms+0xb/0x10 alloc_pages_bulk_noprof+0x48d/0x690 __vmalloc_node_range_noprof+0x3ad/0x7c0 dup_task_struct+0x12a/0x2a0 copy_process+0x17a/0x1380 kernel_clone+0x97/0x340 kernel_thread+0xb8/0xe0 kthreadd+0x201/0x240 ret_from_fork+0x34/0x40 ret_from_fork_asm+0x11/0x20 to a HARDIRQ-irq-unsafe lock: (_xmit_ETHER#2){+.-.}-{3:3} ... which became HARDIRQ-irq-unsafe at: ... lock_acquire+0xe6/0x240 _raw_spin_trylock+0x45/0x60 virtnet_poll+0xa2/0xe90 __napi_poll+0x28/0x210 net_rx_action+0x1de/0x3c0 handle_softirqs+0x187/0x460 do_softirq+0x68/0xc0 __local_bh_enable_ip+0xee/0x100 virtnet_open+0x1ad/0x320 __dev_open+0xdb/0x170 dev_open+0x30/0x90 netpoll_setup+0x188/0x420 init_netconsole+0x136/0x360 do_one_initcall+0xee/0x310 do_initcall_level+0xa1/0x110 do_initcalls+0x43/0x70 kernel_init_freeable+0x17e/0x200 kernel_init+0x1a/0x130 ret_from_fork+0x34/0x40 ret_from_fork_asm+0x11/0x20 other info that might help us debug this: Chain exists of: console_owner --> target_list_lock --> _xmit_ETHER#2 Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(_xmit_ETHER#2); local_irq_disable(); lock(console_owner); lock(target_list_lock); <Interrupt> lock(console_owner); *** DEADLOCK *** 5 locks held by swapper/0/1: #0: ffffffff82a835f8 (console_mutex){+.+.}-{4:4}, at: register_console+0x47/0x350 #1: ffffffff82a839e8 (console_lock){+.+.}-{0:0}, at: _printk+0x5d/0x80 #2: ffffffff82a83630 (console_srcu){....}-{0:0}, at: console_flush_all+0x6a/0x580 #3: ffffffff83183ea0 (console_owner){-...}-{0:0}, at: console_flush_all+0x6a/0x580 #4: ffffffff8325b808 (target_list_lock){....}-{3:3}, at: write_ext_msg+0x4e/0x3a0 the dependencies between HARDIRQ-irq-safe lock and the holding lock: -> (console_owner){-...}-{0:0} ops: 2584 { IN-HARDIRQ-W at: lock_acquire+0xe6/0x240 console_flush_all+0x31d/0x580 console_unlock+0x49/0x160 wake_up_klogd_work_func+0x68/0xa0 irq_work_run_list+0x9b/0xe0 update_process_times+0x88/0xa0 tick_handle_periodic+0x22/0x80 __sysvec_apic_timer_interrupt+0x74/0x1c0 sysvec_apic_timer_interrupt+0x6c/0x80 asm_sysvec_apic_timer_interrupt+0x1a/0x20 clear_page_erms+0xb/0x10 alloc_pages_bulk_noprof+0x48d/0x690 __vmalloc_node_range_noprof+0x3ad/0x7c0 dup_task_struct+0x12a/0x2a0 copy_process+0x17a/0x1380 kernel_clone+0x97/0x340 kernel_thread+0xb8/0xe0 kthreadd+0x201/0x240 ret_from_fork+0x34/0x40 ret_from_fork_asm+0x11/0x20 INITIAL USE at: } ... key at: [<ffffffff83183ea0>] console_owner_dep_map+0x0/0x28 -> (target_list_lock){....}-{3:3} ops: 3 { INITIAL USE at: lock_acquire+0xe6/0x240 _raw_spin_lock_irqsave+0x5a/0x90 init_netconsole+0x23b/0x360 do_one_initcall+0xee/0x310 do_initcall_level+0xa1/0x110 do_initcalls+0x43/0x70 kernel_init_freeable+0x17e/0x200 kernel_init+0x1a/0x130 ret_from_fork+0x34/0x40 ret_from_fork_asm+0x11/0x20 } ... key at: [<ffffffff8325b808>] target_list_lock+0x18/0x40 ... acquired at: _raw_spin_lock_irqsave+0x5a/0x90 write_ext_msg+0x4e/0x3a0 console_flush_all+0x332/0x580 console_unlock+0x49/0x160 vprintk_emit+0x226/0x350 _printk+0x5d/0x80 register_console+0x2d0/0x350 init_netconsole+0x2a6/0x360 do_one_initcall+0xee/0x310 do_initcall_level+0xa1/0x110 do_initcalls+0x43/0x70 kernel_init_freeable+0x17e/0x200 kernel_init+0x1a/0x130 ret_from_fork+0x34/0x40 ret_from_fork_asm+0x11/0x20 the dependencies between the lock to be acquired and HARDIRQ-irq-unsafe lock: -> (_xmit_ETHER#2){+.-.}-{3:3} ops: 5 { HARDIRQ-ON-W at: lock_acquire+0xe6/0x240 _raw_spin_trylock+0x45/0x60 virtnet_poll+0xa2/0xe90 __napi_poll+0x28/0x210 net_rx_action+0x1de/0x3c0 handle_softirqs+0x187/0x460 do_softirq+0x68/0xc0 __local_bh_enable_ip+0xee/0x100 virtnet_open+0x1ad/0x320 __dev_open+0xdb/0x170 dev_open+0x30/0x90 netpoll_setup+0x188/0x420 init_netconsole+0x136/0x360 do_one_initcall+0xee/0x310 do_initcall_level+0xa1/0x110 do_initcalls+0x43/0x70 kernel_init_freeable+0x17e/0x200 kernel_init+0x1a/0x130 ret_from_fork+0x34/0x40 ret_from_fork_asm+0x11/0x20 IN-SOFTIRQ-W at: lock_acquire+0xe6/0x240 _raw_spin_lock+0x30/0x40 virtnet_poll_tx+0x94/0x210 __napi_poll+0x28/0x210 net_rx_action+0x1de/0x3c0 handle_softirqs+0x187/0x460 do_softirq+0x68/0xc0 __local_bh_enable_ip+0xee/0x100 virtnet_open+0x89/0x320 __dev_open+0xdb/0x170 dev_open+0x30/0x90 netpoll_setup+0x188/0x420 init_netconsole+0x136/0x360 do_one_initcall+0xee/0x310 do_initcall_level+0xa1/0x110 do_initcalls+0x43/0x70 kernel_init_freeable+0x17e/0x200 kernel_init+0x1a/0x130 ret_from_fork+0x34/0x40 ret_from_fork_asm+0x11/0x20 INITIAL USE at: lock_acquire+0xe6/0x240 _raw_spin_trylock+0x45/0x60 virtnet_poll+0xa2/0xe90 __napi_poll+0x28/0x210 net_rx_action+0x1de/0x3c0 handle_softirqs+0x187/0x460 do_softirq+0x68/0xc0 __local_bh_enable_ip+0xee/0x100 virtnet_open+0x1ad/0x320 __dev_open+0xdb/0x170 dev_open+0x30/0x90 netpoll_setup+0x188/0x420 init_netconsole+0x136/0x360 do_one_initcall+0xee/0x310 do_initcall_level+0xa1/0x110 do_initcalls+0x43/0x70 kernel_init_freeable+0x17e/0x200 kernel_init+0x1a/0x130 ret_from_fork+0x34/0x40 ret_from_fork_asm+0x11/0x20 } ... key at: [<ffffffff84a45430>] netdev_xmit_lock_key+0x10/0x390 ... acquired at: _raw_spin_lock+0x30/0x40 virtnet_poll_tx+0x94/0x210 netpoll_poll_dev+0x15d/0x240 netpoll_send_skb+0x268/0x350 netpoll_send_udp+0x3f7/0x470 write_ext_msg+0xe2/0x3a0 console_flush_all+0x332/0x580 console_unlock+0x49/0x160 vprintk_emit+0x226/0x350 _printk+0x5d/0x80 register_console+0x2d0/0x350 init_netconsole+0x2a6/0x360 do_one_initcall+0xee/0x310 do_initcall_level+0xa1/0x110 do_initcalls+0x43/0x70 kernel_init_freeable+0x17e/0x200 kernel_init+0x1a/0x130 ret_from_fork+0x34/0x40 ret_from_fork_asm+0x11/0x20 stack backtrace: CPU: 1 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.11.0-rc1-kbuilder-00044-g152e11f6df29 #47 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0x9f/0xf0 __lock_acquire+0x2cd0/0x2d10 ? virtnet_poll_tx+0x94/0x210 lock_acquire+0xe6/0x240 ? virtnet_poll_tx+0x94/0x210 ? lock_acquire+0xe6/0x240 ? down_trylock+0x12/0x30 _raw_spin_lock+0x30/0x40 ? virtnet_poll_tx+0x94/0x210 virtnet_poll_tx+0x94/0x210 netpoll_poll_dev+0x15d/0x240 netpoll_send_skb+0x268/0x350 netpoll_send_udp+0x3f7/0x470 write_ext_msg+0xe2/0x3a0 console_flush_all+0x332/0x580 ? console_flush_all+0x6a/0x580 console_unlock+0x49/0x160 ? __down_trylock_console_sem+0x9e/0xe0 vprintk_emit+0x226/0x350 _printk+0x5d/0x80 register_console+0x2d0/0x350 init_netconsole+0x2a6/0x360 ? option_setup+0x30/0x30 do_one_initcall+0xee/0x310 ? __lock_acquire+0xe4b/0x2d10 ? __lock_acquire+0xe4b/0x2d10 ? stack_depot_save_flags+0x60d/0x6c0 ? asm_sysvec_call_function+0x1a/0x20 ? parse_args+0x11d/0x420 ? parse_args+0x16b/0x420 do_initcall_level+0xa1/0x110 ? kernel_init+0x1a/0x130 do_initcalls+0x43/0x70 kernel_init_freeable+0x17e/0x200 ? rest_init+0x1f0/0x1f0 kernel_init+0x1a/0x130 ret_from_fork+0x34/0x40 ? rest_init+0x1f0/0x1f0 ret_from_fork_asm+0x11/0x20 </TASK> printk: legacy console [netcon0] enabled netconsole: network logging started Unstable clock detected, switching default tracing clock to "global" If you want to keep using the local clock, then add: "trace_clock=local" on the kernel command line clk: Disabling unused clocks Freeing unused decrypted memory: 2036K Freeing unused kernel image (initmem) memory: 1884K Write protecting the kernel read-only data: 26624k Freeing unused kernel image (rodata/data gap) memory: 1976K Run /init as init process with arguments: /init with environment: HOME=/ TERM=xterm-256color virtme_hostname=virtme-ng nr_open=2500000 virtme_link_mods=/home/leit/Devel/upstream/.virtme_mods/lib/modules/0.0.0 virtme_console=ttyS0 virtme_stty_con=rows 45 cols 101 iutf8 biosdevname=0 virtme_chdir=home/leit/Devel/upstream virtme initramfs: loading fuse.ko... fuse: module verification failed: signature and/or required key missing - tainting kernel fuse: init (API version 7.40) virtme initramfs: loading virtiofs.ko... virtme initramfs: mounting hostfs... virtme initramfs: done; switching to real root virtme-ng-init: /etc/tmpfiles.d/chef.conf:13: Line references path below legacy directory /var/run/, updating /var/run/ccache → /run/ccache; please update the tmpfiles.d/ drop-in file accordingly. virtme-ng-init: setting up network device eth0 virtme-ng-init: WARNING: failed to run: "busybox" udhcpc -i eth0 -n -q -f -s /home/leit/venv/lib/python3.8/site-packages/virtme/guest/virtme-udhcpc-script virtme-ng-init: Starting systemd-udevd version v255.5-1.4.hs+fb.el9 virtme-ng-init: triggering udev coldplug input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3 ACPI: button: Power Button [PWRF] virtme-ng-init: waiting for udev to settle Linux agpgart interface v0.103 virtme-ng-init: udev is done virtme-ng-init: initialization done