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

Re: [Xen-devel] HEADS UP: Imported Xen 4.7: no blkback



On Fri, Jun 10, 2016 at 09:38:59PM +0000, Marcin Cieslak wrote:
> On Thu, 9 Jun 2016, Roger Pau Monné wrote:
> 
> > On Thu, Jun 09, 2016 at 12:16:59AM +0000, Marcin Cieslak wrote:
> > > On Fri, 3 Jun 2016, Roger Pau Monné wrote:
> > > 
> > > > One of the more relevant changes in 4.7 regarding FreeBSD is the 
> > > > support for 
> > > > block hotplug scripts. This means that we now have the option to use 
> > > > backends different than simple block or regular files, provided that 
> > > > someone 
> > > > writes the proper hotplug scripts to attach them (I've heard there are 
> > > > some 
> > > > iSCSI hotplug scripts around). This however requires changes in 
> > > > blkback, so 
> > > > if you plan to use the Xen 4.7 port, please make sure that you are 
> > > > running a 
> > > > kernel that contains revision r301269 (or any later version). The same 
> > > > also 
> > > 
> > > I am running it with r301685 and the HVM guests have some trouble with
> > > block devices.
> > > 
> > > SeaBIOS does not find /dev/zvol/zroot/freebsd1,raw,xvda,w to boot FreeBSD
> > > from, after chaging to "hda" I get up to the kernel mountroot prompt
> > > (Xen block devices seem to be detected in dmesg).
> > 
> > Yes, this is intentional, see:
> > 
> > https://marc.info/?l=xen-devel&m=144482080812353
> 
> those guests worked fine with 4.5, that's why I am surprised.
> 
> xbd0 and xbd1 show up in dmesg, mouting root from xbd0p2 fails, but 
> ada0p2 seems to work.
> 
> I remember that during my previous attempts ZFS ate most of
> my machine's memory (dom0 was too small I think) and the
> symptom was very similar if not identical.
> 
> One thing which struck me is that I was able to fully but
> one Linux HVM domU. I am also toying with OpenFirmware
> which boots from floppy as a HVM guest.
> 
> > Have you checked if you need to change your /etc/fstab to correctly point 
> > to the new device? Does FreeBSD correctly list the disk(s) at the mountroot 
> > prompt when issuing a "?" command?
> 
> "?" does not work - it mostly causes a panic, the console is slow, but I 
> managed
> to switch it to /dev/ada0p2, dmesg below:

This has now been reverted, so when I import the new RC this should be fixed 
and you won't need to change anything.
 
> Copyright (c) 1992-2016 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>       The Regents of the University of California. All rights reserved.
> FreeBSD is a registered trademark of The FreeBSD Foundation.
> FreeBSD 11.0-CURRENT #1 r298620: Tue Apr 26 13:21:50 UTC 2016
>     root@xxxxxxxxxxxx:/usr/obj/usr/src/sys/GENERIC amd64
> FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on LLVM 
> 3.8.0)
> WARNING: WITNESS option enabled, expect reduced performance.
> VT(vga): text 80x25
> XEN: Hypervisor version 4.7 detected.
> CPU: Intel(R) Xeon(R) CPU E31245 @ 3.30GHz (3300.08-MHz K8-class CPU)
>   Origin="GenuineIntel"  Id=0x206a7  Family=0x6  Model=0x2a  Stepping=7
>   
> Features=0x17c3fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,ACPI,MMX,FXSR,SSE,SSE2,HTT>
>   
> Features2=0x9fba2203<SSE3,PCLMULQDQ,SSSE3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,HV>
>   AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
>   AMD Features2=0x1<LAHF>
>   XSAVE Features=0x1<XSAVEOPT>
> Hypervisor: Origin = "XenVMMXenVMM"
> real memory  = 2130706432 (2032 MB)
> avail memory = 2018213888 (1924 MB)
> Event timer "LAPIC" quality 400
> ACPI APIC Table: <Xen HVM>
> WARNING: L1 data cache covers less APIC IDs than a core
> 0 < 1
> WARNING: L2 data cache covers less APIC IDs than a core
> 0 < 1
> WARNING: L3 data cache covers less APIC IDs than a core
> 0 < 1
> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
> FreeBSD/SMP: 1 package(s) x 2 core(s)
> random: unblocking device.
> ioapic0: Changing APIC ID to 1
> MADT: Forcing active-low polarity and level trigger for SCI
> ioapic0 <Version 1.1> irqs 0-47 on motherboard
> random: entropy device external interface
> kbd1 at kbdmux0
> netmap: loaded module
> module_register_init: MOD_LOAD (vesa, 0xffffffff80f0ffb0, 0) error 19
> vtvga0: <VT VGA driver> on motherboard
> cryptosoft0: <software crypto> on motherboard
> acpi0: <Xen> on motherboard
> acpi0: Power Button (fixed)
> acpi0: Sleep Button (fixed)
> cpu0: <ACPI CPU> on acpi0
> cpu1: <ACPI CPU> on acpi0
> hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
> Timecounter "HPET" frequency 62500000 Hz quality 950
> attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
> Timecounter "i8254" frequency 1193182 Hz quality 0
> Event timer "i8254" frequency 1193182 Hz quality 100
> atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
> Event timer "RTC" frequency 32768 Hz quality 0
> Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
> acpi_timer0: <32-bit timer at 3.579545MHz> port 0xb008-0xb00b on acpi0
> pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
> pci0: <ACPI PCI bus> on pcib0
> isab0: <PCI-ISA bridge> at device 1.0 on pci0
> isa0: <ISA bus> on isab0
> atapci0: <Intel PIIX3 WDMA2 controller> port 
> 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xc200-0xc20f at device 1.1 on pci0
> ata0: <ATA channel> at channel 0 on atapci0
> ata1: <ATA channel> at channel 1 on atapci0
> pci0: <bridge> at device 1.3 (no driver attached)
> xenpci0: <Xen Platform Device> port 0xc000-0xc0ff mem 0xf0000000-0xf0ffffff 
> irq 24 at device 2.0 on pci0
> vgapci0: <VGA-compatible display> mem 
> 0xf1000000-0xf1ffffff,0xf2050000-0xf2050fff at device 3.0 on pci0
> vgapci0: Boot video device
> atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
> atkbd0: <AT Keyboard> irq 1 on atkbdc0
> kbd0 at atkbd0
> atkbd0: [GIANT-LOCKED]
> psm0: <PS/2 Mouse> irq 12 on atkbdc0
> psm0: [GIANT-LOCKED]
> psm0: model IntelliMouse Explorer, device ID 4
> fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
> fdc0: does not respond
> device_attach: fdc0 attach returned 6
> xenpv0: <Xen PV bus> on motherboard
> granttable0: <Xen Grant-table Device> on xenpv0
> xen_et0: <Xen PV Clock> on xenpv0
> Event timer "XENTIMER" frequency 1000000000 Hz quality 950
> Timecounter "XENTIMER" frequency 1000000000 Hz quality 950
> xenstore0: <XenStore> on xenpv0
> evtchn0: <Xen event channel user-space device> on xenpv0
> privcmd0: <Xen privileged interface user-space device> on xenpv0
> debug0: <Xen debug handler> on xenpv0
> orm0: <ISA Option ROM> at iomem 0xed800-0xeffff on isa0
> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
> fdc0: No FDOUT register!
> ppc0: cannot reserve I/O port range
> Timecounters tick every 1.000 msec
> xenballoon0: <Xen Balloon Device> on xenstore0
> xctrl0: <Xen Control Device> on xenstore0
> xs_dev0: <Xenstore user-space device> on xenstore0
> xenbusb_front0: <Xen Frontend Devices> on xenstore0
> xenbusb_add_device: Device device/suspend/event-channel ignored. State 6
> xn0: <Virtual Network Interface> at device/vif/0 on xenbusb_front0
> xbd0: 16384MB <Virtual Block Device> at device/vbd/768 on xenbusb_front0
> xbd0: attaching as ada0
> xbd0: features: flush, write_barrier
> xbd0: synchronize cache commands enabled.
> xn0: Ethernet address: 00:02:04:08:fd:f0
> xenbusb_back0: <Xen Backend Devices> on xenstore0
> xbd1: 40960MB <Virtual Block Device> at device/vbd/832 on xenbusb_front0
> xbd1: attaching as ada1
> xbd1: features: flush, write_barrier
> xbd1: synchronize cache commands enabled.
> xn0: backend features: feature-sg
> SMP: AP CPU #1 Launched!
> WARNING: WITNESS option enabled, expect reduced performance.
> Trying to mount root from ufs:/dev/xbd0p2 [rw]...
> mountroot: waiting for device /dev/xbd0p2...
> Mounting from ufs:/dev/xbd0p2 failed with error 19.
> 
> Loader variables:
>   vfs.root.mountfrom=ufs:/dev/xbd0p2
>   vfs.root.mountfrom.options=rw
> 
> Manual root filesystem specification:
>   <fstype>:<device> [options]
>       Mount <device> using filesystem <fstype>
>       and with the specified (optional) option list.
> 
>     eg. ufs:/dev/da0s1a
>         zfs:tank
>         cd9660:/dev/cd0 ro
>           (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)
> 
>   ?               List valid disk boot devices
>   .               Yield 1 second (for background tasks)
>   <empty line>    Abort manual input
> 
> mountroot> Trying to mount root from ufs:/dev/ada0p2 []...
> xn0: link state changed to DOWN
> xn0: link state changed to UP
> 
> > Also, can you paste the output of `xenstore-ls -fp` from Dom0 when this 
> > happens?
> 
> Windows:

[...]

> /local/domain/279/device/vbd/768/backend = 
> "/local/domain/0/backend/vbd/279/768"   (n279,r0)
> /local/domain/279/device/vbd/768/backend-id = "0"   (n279,r0)
> /local/domain/279/device/vbd/768/state = "1"   (n279,r0)
> /local/domain/279/device/vbd/768/virtual-device = "768"   (n279,r0)
> /local/domain/279/device/vbd/768/device-type = "disk"   (n279,r0)
> /local/domain/279/device/vbd/832 = ""   (n279,r0)
> /local/domain/279/device/vbd/832/backend = 
> "/local/domain/0/backend/vbd/279/832"   (n279,r0)
> /local/domain/279/device/vbd/832/backend-id = "0"   (n279,r0)
> /local/domain/279/device/vbd/832/state = "1"   (n279,r0)
> /local/domain/279/device/vbd/832/virtual-device = "832"   (n279,r0)
> /local/domain/279/device/vbd/832/device-type = "disk"   (n279,r0)
> /local/domain/279/device/vkbd = ""   (n0,r279)
> /local/domain/279/device/vkbd/0 = ""   (n279,r0)
> /local/domain/279/device/vkbd/0/backend = 
> "/local/domain/0/backend/vkbd/279/0"   (n279,r0)
> /local/domain/279/device/vkbd/0/backend-id = "0"   (n279,r0)
> /local/domain/279/device/vkbd/0/state = "1"   (n279,r0)
> /local/domain/279/device/vif = ""   (n0,r279)
> /local/domain/279/device/vif/0 = ""   (n279,r0)
> /local/domain/279/device/vif/0/backend = "/local/domain/0/backend/vif/279/0"  
>  (n279,r0)
> /local/domain/279/device/vif/0/backend-id = "0"   (n279,r0)
> /local/domain/279/device/vif/0/state = "1"   (n279,r0)
> /local/domain/279/device/vif/0/handle = "0"   (n279,r0)
> /local/domain/279/device/vif/0/mac = "00:16:3e:5d:0d:48"   (n279,r0)

It seems like Windows PV drivers don't attach at all, or are you running 
Windows without the PV drivers?

[...]

> FreeBSD:

[...]

> /local/domain/11/device/vbd/768/backend = 
> "/local/domain/0/backend/vbd/11/768"   (n11,r0)
> /local/domain/11/device/vbd/768/backend-id = "0"   (n11,r0)
> /local/domain/11/device/vbd/768/state = "4"   (n11,r0)
> /local/domain/11/device/vbd/768/virtual-device = "768"   (n11,r0)
> /local/domain/11/device/vbd/768/device-type = "disk"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref0 = "8"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref1 = "9"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref2 = "10"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref3 = "11"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref4 = "12"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref5 = "13"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref6 = "14"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref7 = "15"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref8 = "16"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref9 = "17"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref10 = "18"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref11 = "19"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref12 = "20"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref13 = "21"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref14 = "22"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref15 = "23"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref16 = "24"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref17 = "25"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref18 = "26"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref19 = "27"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref20 = "28"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref21 = "29"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref22 = "30"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref23 = "31"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref24 = "32"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref25 = "33"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref26 = "34"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref27 = "35"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref28 = "36"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref29 = "37"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref30 = "38"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-ref31 = "39"   (n11,r0)
> /local/domain/11/device/vbd/768/num-ring-pages = "32"   (n11,r0)
> /local/domain/11/device/vbd/768/ring-page-order = "5"   (n11,r0)
> /local/domain/11/device/vbd/768/event-channel = "10"   (n11,r0)
> /local/domain/11/device/vbd/768/protocol = "x86_64-abi"   (n11,r0)
> /local/domain/11/device/vbd/832 = ""   (n11,r0)
> /local/domain/11/device/vbd/832/backend = 
> "/local/domain/0/backend/vbd/11/832"   (n11,r0)
> /local/domain/11/device/vbd/832/backend-id = "0"   (n11,r0)
> /local/domain/11/device/vbd/832/state = "4"   (n11,r0)
> /local/domain/11/device/vbd/832/virtual-device = "832"   (n11,r0)
> /local/domain/11/device/vbd/832/device-type = "disk"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref0 = "40"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref1 = "41"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref2 = "42"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref3 = "43"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref4 = "44"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref5 = "45"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref6 = "46"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref7 = "47"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref8 = "48"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref9 = "49"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref10 = "50"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref11 = "51"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref12 = "52"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref13 = "53"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref14 = "54"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref15 = "55"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref16 = "56"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref17 = "57"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref18 = "58"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref19 = "59"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref20 = "60"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref21 = "61"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref22 = "62"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref23 = "63"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref24 = "64"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref25 = "65"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref26 = "66"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref27 = "67"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref28 = "68"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref29 = "69"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref30 = "70"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-ref31 = "71"   (n11,r0)
> /local/domain/11/device/vbd/832/num-ring-pages = "32"   (n11,r0)
> /local/domain/11/device/vbd/832/ring-page-order = "5"   (n11,r0)
> /local/domain/11/device/vbd/832/event-channel = "11"   (n11,r0)
> /local/domain/11/device/vbd/832/protocol = "x86_64-abi"   (n11,r0)

Everything seems fine regarding FreeBSD, PV devices have attached correctly 
AFAICT.

[...]
> /local/domain/11/console/vnc-port = "5900"   (n0,r11)
> /local/domain/11/image = ""   (n0,r11)
> /local/domain/11/image/device-model-pid = "6311"   (n0,r11)
> 
> > > What used to be Windows 2016 domU with /dev/zvol/zroot/windows0,raw,hda,w
> > > ends up in the Tianocore UEFI shell. Block devices seem to be available,
> > > I can even list the fs0: partition, but no booting further possible.
> > 
> > Hm, I've never used Tianocore myself, so I'm not sure what the issue could 
> > be here. Again, can you post the output of `xenstore-ls -fp` from Dom0 when 
> > this happens? At least this will show if the PV block device has been 
> > correctly attached.
> 
> See above.
> 
> How do I rollback to 4.5.2, do I need to downgrade the FreeBSD kernel
> as well?

Yes, you will need to switch back to an older kernel, but I thing we should 
aim to solve this, or else you will get stuck with an older Xen and FreeBSD 
kernel.

Since you mention that the console is very slow, if you run 'top' on Dom0, 
do you see any process (eg: qemu) taking a lot of CPU time?

Also, do you see Dom0 consuming a lot of CPU if you run 'xentop'?

Thanks.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.