Regression in q35 avocado tests due to fix for misaligned IO access

Host environment

  • Operating system: Ubuntu
  • OS/kernel version: Linux hackbox2 5.15.0-71-generic #78-Ubuntu SMP Tue Apr 18 09:00:29 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
  • Architecture: x64
  • QEMU flavor: qemu-system-x86_64
  • QEMU version: 8.1
  • QEMU command line:
./tests/venv/bin/avocado run ./tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_q35_tcg

although running directly with a kernel I could see the same thing:

./qemu-system-x86_64 -display none -vga none -machine q35 -serial mon:stdio -smp 2 -m 1024 -netdev user,id=vnet,hostfwd=:127.0.0.1:0-:22 -device virtio-net,net
dev=vnet -accel tcg -kernel ~/lsrc/linux.git/builds/x86_64/arch/x86/boot/bzImage -append "root=UUID=b1438b9b-2cab-4065-a99a-08a96687f73c ro no_timer_check net.ifnames=0 console=tty1 console=ttyS0,115200n8"

Emulated/Virtualized environment

  • Operating system: Linux
  • OS/kernel version: 5.something and 6.0.11
  • Architecture: x86_64 (under TCG)

Description of problem

Generally I'm seeing intermittent hangs, somewhere after the clock initialisation.

[    4.137020] ALSA device list:                                                                                                                                             
[    4.137861]   No soundcards found.                                                                                                                                        
[    4.634128] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input3                                                                         
[   24.085574] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[   24.085712] rcu:     0-...!: (0 ticks this GP) idle=4d18/0/0x0 softirq=54/54 fqs=0 (false positive?)
[   24.085712]  (detected by 1, t=21004 jiffies, g=-1003, q=2151 ncpus=2)
[   24.085712] Sending NMI from CPU 1 to CPUs 0:                                                                                                                             
[    4.647507] NMI backtrace for cpu 0                                                                                                                                       
[    4.647507] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.0.11 #5                                                                                                           
[    4.647507] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org 04/01/2014                                              
[    4.647507] RIP: 0010:amd_e400_idle+0x39/0x40                                                                                                                             
[    4.647507] Code: 00 e8 fb ab 0d 00 eb 07 0f 00 2d c2 7d 1d 01 fb f4 fa 31 ff e8 e8 ab 0d 00 fb c3 cc cc cc cc eb 07 0f 00 2d a9 7d 1d 01 fb f4 <c3> cc cc cc cc 66 90 bf 
01 00 00 00 e8 a6 e4 06 00 65 48 8b 04 25

In avocado the hang generally times out and the test fails.

Steps to reproduce

See above command line. It's racy.

Additional information

Edited by Alex Bennée