Tracked this down, the default xenstore permissions don't seem to allow qemu-dm to write to it. Name ID Mem VCPUs State Time(s) nathanwin 61 8191 2 -b---- 13.6 nathanwin-dm 62 32 1 -b---- 5.5 rtc = "" . . . . . . . . . . . . . . . . . . . . . . . . . . (n0,r61) timeoffset = "" . . . . . . . . . . . . . . . . . . . . . . (n0,r62) Changing this to be writeable, makes it work. - Nathan From: Nathan March [mailto:nathan@xxxxxx] Sent: Monday, August 15, 2016 11:09 AM To: 'Paul Durrant' <Paul.Durrant@xxxxxxxxxx>; 'win-pv-devel@xxxxxxxxxxxxxxxxxxxx' <win-pv-devel@xxxxxxxxxxxxxxxxxxxx> Subject: RE: [win-pv-devel] rtc timeoffset not being set on TZ changes? Ah, so the centos packages do include trad but it must be specified in the xl cfg. After setting device_model_version="qemu-xen-traditional" though I'm still not seeing the expected updates to the xen store. root 14642 0.0 0.1 167336 7396 ? Ssl 11:05 0:00 /usr/lib64/xen/bin/qemu-dm -d 50 -domain-name nathanwin-dm -vnc 127.0.0.1:0 -vncunused -M xenpv root 15499 0.0 0.0 102256 500 ? SLsl 11:05 0:00 xl create nathanwin ~ # strings /usr/lib64/xen/bin/qemu-dm | grep timeoffset rtc/timeoffset 45b4c898-e5c9-4c12-bb84-db1ca7da400f = "" name = "nathanwin" uuid = "45b4c898-e5c9-4c12-bb84-db1ca7da400f" rtc = "" timeoffset = "" image = "" ostype = "hvm" dmargs = " -d 49 -domain-name nathanwin -vnc 127.0.0.1:0 -vncunused -videoram 4 -boot c -acpi -vcpus 2 -vcpu_avail 0x03 -net nic,vlan=0,macaddr=00:16:3d:01:04:eb,model=rtl8139 -net tap,vlan=0,ifname=vif49.0-emu,bridge=vlan208,scr\..." start_time = "1471284333.05" 5f83c9ec-7233-4fb2-ab29-6c8e1d2875b9 = "" name = "nathanwin-dm" uuid = "5f83c9ec-7233-4fb2-ab29-6c8e1d2875b9" image = "" ostype = "linux" kernel = "/usr/lib64/xen/boot/ioemu-stubdom.gz" ramdisk = "" cmdline = " -d 49" start_time = "1471284333.66 - Nathan Hi Paul, Thanks for the quick reply! Are you sure about that though? Examining the build log here: https://cbs.centos.org/kojifiles/packages/xen/4.6.3/1.el6/data/logs/x86_64/build.log Seems to indicate that the qemu inside of xen is being checked out: if test -d /builddir/build/BUILD/xen-4.6.3/tools/../tools/qemu-xen ; then \ mkdir -p qemu-xen-dir; \ else \ export GIT=git; \ /builddir/build/BUILD/xen-4.6.3/tools/../scripts/git-checkout.sh /builddir/build/BUILD/xen-4.6.3/tools/../tools/qemu-xen qemu-xen-4.6.3 qemu-xen-dir ; \ and used for the build: install -d -m 0755 "/builddir/build/BUILD/xen-4.6.3/dist/install/usr/lib64/xen/bin" libtool --quiet --mode=install install -c -m 0755 qemu-system-i386 "/builddir/build/BUILD/xen-4.6.3/dist/install/usr/lib64/xen/bin" strip "/builddir/build/BUILD/xen-4.6.3/dist/install/usr/lib64/xen/bin/qemu-system-i386" make[3]: Leaving directory `/builddir/build/BUILD/xen-4.6.3/tools/qemu-xen-dir' - Nathan Hi Nathan, Dropping xen-devel… That is indeed a packaged upstream QEMU, not trad. So, that’s why you don’t see rtc updates. Paul Hi Paul, Nope, I’m using qemu provided by xen-runtime in the centos packages (https://cbs.centos.org/koji/packageinfo?packageID=88). root 1462 0.2 0.3 406856 21016 ? SLsl Aug13 9:37 /usr/lib64/xen/bin/qemu-system-i386 -xen-domid 31 -chardev socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-31,server,nowait -no-shutdown -mon chardev=libxl-cmd,mode=control -chardev socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-31,server,nowait -mon chardev=libxenstat-cmd,mode=control -nodefaults -name nathanwin -vnc 127.0.0.1:0,to=99 -display none -device cirrus-vga,vgamem_mb=8 -boot order=d -smp 2,maxcpus=2 -device rtl8139,id=nic0,netdev=net0,mac=00:16:3d:01:04:eb -netdev type=tap,id=net0,ifname=vif31.0-emu,script=no,downscript=no -device rtl8139,id=nic1,netdev=net1,mac=00:16:3d:01:04:ee -netdev type=tap,id=net1,ifname=vif31.1-emu,script=no,downscript=no -machine xenfv -m 8184 -drive file=/mnt/gtc_disk_f1/nathanwin/drive_c,if=ide,index=0,media=disk,format=raw,cache=writeback -drive file=/mnt/xen/iso/xen_pv-8.1.iso,if=ide,index=2,readonly=on,media=cdrom,format=raw,cache=writeback,id=ide-51745 ~ # rpm -qf /usr/lib64/xen/bin/qemu-system-i386 xen-runtime-4.6.3-1.el6.x86_64 - Nathan Hi Nathan, Are you using upstream QEMU? If you are then you’re problem is expected. The code in xen-hvm.c:handle_ioreq() completely ignores RTC updates from Xen, as can be seen at http://xenbits.xen.org/gitweb/?p=qemu-upstream-unstable.git;a=blob;f=xen-hvm.c;hb=HEAD#l927 whereas QEMU trad handles them, as can be seen at http://xenbits.xen.org/gitweb/?p=qemu-xen-unstable.git;a=blob;f=i386-dm/helper2.c;hb=HEAD#l475. The PV drivers do not directly interact with this key so there’s nothing essentially ‘wrong’ in your VM. Paul Hi All, On Win 2012 R2 with the latest 8.1 signed drivers, I'm having issues with clocks being reset back to host time on migration. Xen 4.6.3 with host kernel 3.18.34, using gwd's centos packages. Based on https://wiki.xenproject.org/wiki/HVM_timeoffsets I would expect to see rtc/timeoffset being set when I change a timezone/clock in windows, but that's not the case. No matter what, it always seems to be null: 7c253d95-b15f-45b5-bf1c-395c1cc7b034 = "" name = "nathanwin" uuid = "7c253d95-b15f-45b5-bf1c-395c1cc7b034" rtc = "" timeoffset = "" image = "" ostype = "hvm" start_time = "1471022816.81" If I issue a shutdown from XL windows does a graceful shutdown, so the xenbus drivers do seem to be running fine. Can anyone comment on what might be up here, or if this is just a bug? Cheers, Nathan |