arm64: virtio broken in upstream kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Initially I thought this was a qemu bug, so I was tracking it here.

https://bugs.launchpad.net/qemu/+bug/1383857

In brief, virtio devices don't show up in the guest when using kernel
3.18.0+rc1.  I'm also using 64k pages, but I don't know if that is
related.

I did a bisect and it pointed at:

  421520ba98290a73b35b7644e877a48f18e06004 is the first bad commit
  commit 421520ba98290a73b35b7644e877a48f18e06004
  Author: Yalin Wang <Yalin.Wang@xxxxxxxxxxxxxx>
  Date: Fri Sep 26 03:07:09 2014 +0100

    ARM: 8167/1: extend the reserved memory for initrd to be page aligned

    This patch extends the start and end address of initrd to be page aligned,
    so that we can free all memory including the un-page aligned head or tail
    page of initrd, if the start or end address of initrd are not page
    aligned, the page can't be freed by free_initrd_mem() function.

    Signed-off-by: Yalin Wang <yalin.wang@xxxxxxxxxxxxxx>
    Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
    Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>

  :040000 040000 23bd54d302533c173a4ae592969dd2868794e9ed f1833b44ee7a389902f6f9d2fb55f4b89ba0de16 M arch

I also reverted this patch on top of the 3.18.0+rc1 kernel, and I see:

  supermin: internal insmod virtio.ko
  supermin: internal insmod virtio_ring.ko
  supermin: internal insmod virtio_blk.ko
  supermin: internal insmod virtio-rng.ko
  supermin: internal insmod virtio_console.ko
  supermin: internal insmod virtio_net.ko
  supermin: internal insmod scsi_transport_spi.ko
  supermin: internal insmod virtio_scsi.ko
  supermin: internal insmod virtio_balloon.ko
  supermin: internal insmod virtio_mmio.ko
  [    2.765223] BUG: failure at include/linux/virtio_config.h:125/virtio_device_ready()!
  [    2.765932] Kernel panic - not syncing: BUG!
  [    2.766792] CPU: 0 PID: 18 Comm: kworker/0:1 Not tainted 3.18.0-rc1+ #46
  [    2.767532] Workqueue: events control_work_handler [virtio_console]
  [    2.768194] Call trace:
  [    2.768779] [<fffffe0000096cc8>] dump_backtrace+0x0/0x164
  [    2.769252] [<fffffe0000096e48>] show_stack+0x1c/0x28
  [    2.769618] [<fffffe0000726ff4>] dump_stack+0x74/0x94
  [    2.769947] [<fffffe00007264a4>] panic+0xe8/0x228
  [    2.770434] [<fffffdfffc14252c>] add_port+0x378/0x37c [virtio_console]
  [    2.770983] [<fffffdfffc142fb4>] control_work_handler+0x374/0x390 [virtio_console]
  [    2.771552] [<fffffe00000cf8cc>] process_one_work+0x148/0x3a4
  [    2.772067] [<fffffe00000d0358>] worker_thread+0x13c/0x488
  [    2.772758] [<fffffe00000d53fc>] kthread+0xe0/0xf8
  [    2.773801] Rebooting in 1 seconds..Reboot failed -- System halted

So I guess this patch really is to blame.

Not sure I understand exactly why aligning the initrd affects virtio
however ...

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux