Opened 9 days ago

Closed 8 days ago

#14803 closed bug (fixed)

New network changes causes interrupt storm on QEMU with shared interrupt

Reported by: tqh Owned by: waddlesplash
Priority: normal Milestone: Unscheduled
Component: Drivers/Network/ipro1000 Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Running recent nightlies in QEMU/KVM hangs the mouse and causes one cpu core to run 100%.

KDL show Ipro driver processing around 1 million ints at point when installer shows up. All problems go away if I disable USB in QEMU launch args.

KDL Ints output:

int  11, enabled 2, handled   720013, unhandled        0
   ipro1000:iflib_fast_intr_ctx               (0xffffffff85c33340), data 0xffffffff829ed098, handled   720006
   uhci:_ZN4UHCI16InterruptHandlerEPv         (0xffffffff81f52a10), data 0xffffffff82979600, handled        7

QEMU/KVM command line:

sudo qemu-system-x86_64 --cpu host -smp 4 -k sv -m 2048 -enable-kvm -vga vmware -no-reboot -usb -usbdevice tablet -serial file:out.txt -cdrom generated/haiku-nightly-anyboot.iso -drive file=/dev/sdb,index=0,media=disk,format=raw -boot d

Verified problem exist with downloaded nightly hrev52718

Last known good revision hrev52707

Change History (6)

comment:1 Changed 9 days ago by tqh

Without usb enabled ipro had six interrupts.

comment:2 Changed 9 days ago by tqh

Probably relevant IRQ-routing info with USB enabled:

found io-apic with address 0xfec00000, global interrupt base 0, apic-id 0
mapping io-apic 0 at physical address 0xfec00000
io-apic 0 has range 0-23, 24 entries, version 0x00170011, apic-id 0
setting ACPI interrupt model to APIC
failed to put ACPI into APIC interrupt model, ignoring
IRQ routing table with 3 entries
address 0x1ffff; pin 0; source 0xffffffff82a1d998 0; pci 0:1 pin 1 func mask 8; bios irq: 9; gsi 9; config 0x0a
address 0x1ffff; pin 3; source 0xffffffff82a1db18 0; pci 0:1 pin 4 func mask 4; bios irq: 11; gsi 11; config 0x0a
address 0x3ffff; pin 0; source 0xffffffff82a1dc98 0; pci 0:3 pin 1 func mask 1; bios irq: 11; gsi 11; config 0x0a
found interrupt override for bus 0, source irq 0, global irq 2, flags 0x00000000
found interrupt override for bus 0, source irq 5, global irq 5, flags 0x0000000d
found interrupt override for bus 0, source irq 9, global irq 9, flags 0x0000000d
found interrupt override for bus 0, source irq 10, global irq 10, flags 0x0000000d
found interrupt override for bus 0, source irq 11, global irq 11, flags 0x0000000d
free_io_interrupt_vectors: freeing 16 vectors starting from 0
reserve_io_interrupt_vectors: reserved 24 vectors starting from 0

comment:3 Changed 9 days ago by waddlesplash

Component: DriversDrivers/Network/ipro1000
Owner: changed from nobody to waddlesplash
Status: newassigned

comment:4 Changed 9 days ago by waddlesplash

Please retest after hrev52723.

comment:5 Changed 9 days ago by tqh

Still the same with hrev52724

comment:6 Changed 8 days ago by waddlesplash

Resolution: fixed
Status: assignedclosed

Fixed in hrev52725.

Note: See TracTickets for help on using tickets.