From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Xen 4.4 development update -- RFC for feature freeze timeline Date: Thu, 26 Sep 2013 17:47:40 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org This information will be mirrored on the Xen 4.4 Roadmap wiki page: http://wiki.xen.org/wiki/Xen_Roadmap/4.4 = Timeline (RFC!!) = Here is our current timeline based on a 6-month release: * Feature freeze: 18 October 2013 * Code freezing point: 8 November 2013 * First RC: 26 November 2013 * Release: 21 January 2014 I've been going through the list and chatting with different developers, and it seems like there are a number of features in development that are close to being done, but not quite: they have a fairly high probability of missing the 18 Oct window, but a pretty decent chance of making the window if it were extended for a month. Here are the lists: Things which will probably make it by 18 Oct: * Multi-vector MSI (done) * Improved spice support in libxl (done) * PVH for domUs * Non-udev scripts for driver domains * A raft of fixes from Coverity reports Additional things which are likely to make it if we extend a month (18 Nov): * NUMA Memory migration * Per-vcpu NUMA affinity * PV NUMA interface * ARM guest migration * USB hotplug for libxl Other things that are a possibility if we slip a month but definitely not if we stick with the original schedule: * qemu-xen stubdomains (either Linux or rump kernel / BSD libc) * Event channel scalability Obviously there is no guarantee for any of these that a month will suffice; developers are notoriously bad at estimation and generally think they can do absolutely anything in 2-3 months. Nonetheless, it does seem likely that delaying for a month may allow a significant number of important features to get in. Any thoughts? Last updated: 26 September 2016 == Completed == * Multi-vector PCI MSI (Hypervisor side) * Improved Spice support on libxl - Added Spice vdagent support - Added Spice clipboard sharing support == Open == * xend still in tree (x) - xl list -l on a dom0-only system - xl list -l doesn't contain tty console port - xl Alternate transport support for migration - xl PVSCSI support - xl PVUSB support * qemu-upstream not freeing pirq > http://www.gossamer-threads.com/lists/xen/devel/281498 status: patches posted, tested-and-acked * Race in PV shutdown between tool detection and shutdown watch > http://www.gossamer-threads.com/lists/xen/devel/282467 > Nothing to do with ACPI status: Probably a bug in Linux xen drivers * credit scheduler doesn't update other fields when tslice updated from sysctl > Reported by Luwei Cheng > http://bugs.xenproject.org/xen/bug/16 * Supposed regression from a3513737 ("x86: allow guest to set/clear > MSI-X mask bit (try 2)"), as per > http://lists.xenproject.org/archives/html/xen-devel/2013-09/msg01589.html. == Backlog == === Testing coverage === * new libxl w/ previous versions of xl @IanJ * Host S3 suspend @bguthro, @dariof * Default [example] XSM policy @Stefano to ask Daniel D * Xen on ARM # hardware @ianc emulator: @stefano to think about it * Storage driver domains @roger * HVM pci passthrough @anthony * PV pce passthrough @konrad (or @george if he gets to it first) * Network driver domains @George * Nested virt? @intel (chased by George) * Fix SRIOV test (chase intel) @ianj * Fix bisector to e-mail blame-worthy parties @ianj * Fix xl shutdown @ianj * stub domains @athony * performance benchmarks @dario === Clean-ups === * Polish up xenbugtool owner: wei.liu2@citrix.com * ACPI WAET table vs RTC emulation mode owner: jan@suse prognosis: ? > An overly simplified fix was posted a while ago > (http://lists.xenproject.org/archives/html/xen-devel/2013-07/msg00122.html), > but Tim's objection is rather valid. I can't, however, estimate > if/when I would find time to learn what tools side changes are > necessary to accommodate a new HVM param, and hence this is > currently stalled. The current solution (as of 3fa7fb8b ["x86/HVM: > RTC code must be in line with WAET flags passed by hvmloader"]) > isn't desirable to be kept for 4.4. * Sort out better memory / ballooning / dom0 autoballooning thing > Don't forget NUMA angle - Inaccurate / incomplete info from HV * Implement Xen hypervisor dmesg log entry timestamps > https://xenorg.uservoice.com/forums/172169-xen-development/suggestions/3924048-implement-xen-hypervisor-dmesg-log-entry-timestamp > Request seems to be for a shorter stamp (seconds-only, rather than full date) * Make network driver domains easier to set up / more useful - Make it easy to make a device assignable (in discussion) - Automatically start/shutdown (xendomains?) - Pause booting of other domains until network driver domain is up (necessary?) * libxl: More fine-grained control over when to pass through a device > Some IOMMUs are secure; some are merely functional, some are not present. > Allow the adminitrator to set the default * xl does not handle migrate interruption gracefully > If you start a localhost migrate, and press "Ctrl-C" in the middle, > you get two hung domains * libxl / xl does not handle failure of remote qemu gracefully > Easiest way to reproduce: > - set "vncunused=0" and do a local migrate > - The "remote" qemu will fail because the vnc port is in use > The failure isn't the problem, but everything being stuck afterwards is * mac address changes on reboot if not specified in config file > Needs a robust way to "add" to the config * qxl > http://bugs.xenproject.org/xen/bug/11 - Uninitialized struct element in qemu - Revert 5479961 to re-enable qxl in xl,libxl - Option in Xen top-level to enable qxl support in qemu tree - Fix sse2 MMIO issue - make word size arbitrary * libxl config file * libxl: Don't use RAW format for "URL"-based qdisks (e.g., rbd:rbd/foo.img) - Figure out whether to use a generic URL or have a specific type for each one - Check existence of disk file for all RAW * acpi-related xenstore entries not propagated on migrate > http://www.gossamer-threads.com/lists/xen/devel/282466 > Only used by hvmloader; only a clean-up, not a bug. === Big ticket items === * NUMA Memory migration owner: dario@citrix status: in progress * Event channel scalability (FIFO event channels) owner: david@citrix status: RFC v3 posted Increase limit on event channels (currently 1024 for 32-bit guests, 4096 for 64-bit guests) * PVH mode (w/ Linux) owner: mukesh@oracle, george@citrix status (Linux): Acked, waiting for ABI to be nailed down status (Xen): v12 posted * ARM stuff: ?? * Meta: PVIO NUMA improvements - NUMA affinity for vcpus owner: Dario status: in progress - PV guest NUMA interface owner: Elena status: v2 posted - Sensible dom0 NUMA layout - Toolstack pinning backend thread / virq to appropraite d0 vcpu - NUMA-aware ballooning owner: Li Yechen status: in progress * xl migrate transport improvements owner: None > See discussion here: http://bugs.xenproject.org/xen/bug/19 - Option to connect over a plain TCP socket rather than ssh - xl-migrate-recieve suitable for running in inetd - option for above to redirect log output somewhere useful - Documentation for setting up alternate transports * HVM guest NUMA owner: Matt Wilson@amazon status: in progress (?) * qemu-upstream stubdom, Linux owner: anthony@citrix status: in progress prognosis: ? qemu-upstream needs a more fully-featured libc than exists in mini-os. Either work on a minimalist linux-based stubdom with glibc, or port one of the BSD libcs to minios. * qemu-upstream stubdom, BSD libc prognosis: ? owner: ianj@citrix * Network performance improvements owner: wei@citrix * Disk performance improvements * Xen EFI feature: Xen can boot from grub.efi owner: Daniel Kiper status: in progress * libvirt/libxl integration (external) > need a status update - owner: jfehlig@suse, dario@citrix * Default to credit2 status: Probably not for 4.4 - cpu pinning - NUMA affinity - cpu "reservation" * xenperf prognosis: ? Owner: Boris Otovsky status: v2 patches posted * blktap3 owner: thanos@citrix status: on hold pending XenServer decision * Nested virtualization on Intel * Nested virtualization on AMD * xl USB pass-through for HVM guests using Qemu USB emulation prognosis: Good if extended owner: George status: v6 patch series posted * libxl: Spice usbredirection support for upstream qemu owner: fabio@M2R status: I'll post new patch version shortly * libxl: usb2 and usb3 controller support for upstream qemu owner: fabio@M2R status: patch v5 posted, tested and working, awaiting reviews * Rationalized backend scripts owner: roger@citrix status: patches posted * Scripts for driver domains (depends on backend scripts) owner: roger@citrix status: Patches posted (?) prognosis: good * Multi-vector PCI MSI (upstream Linux) owner: konrad@oracle * xl: passing more defaults in configuration in xl.conf owner: ? There are a number of options for which it might be useful to pass a default in xl.conf. For example, if we could have a default "backend" parameter for vifs, then it would be easy to switch back and forth between a backend in a driver domain and a backend in dom0. * xl PVUSB pass-through for PV guests * xl PVUSB pass-through for HVM guests owner: George status: ? xm/xend supports PVUSB pass-through to guests with PVUSB drivers (both PV and HVM guests). - port the xm/xend functionality to xl. - this PVUSB feature does not require support or emulation from Qemu. - upstream the Linux frontend/backend drivers. Current work-in-progress versions are in Konrad's git tree. - James Harper's GPLPV drivers for Windows include PVUSB frontend drivers. * Guest EFI booting - status: tianocore in-tree, some build problems. Needs new owner. * Xen EFI feature: pvops dom0 able to make use of EFI run-time services (external) owner: Daniel Kiper status: Just begun * New kexec implementation owner: dvrabel@citrix status: v7 posted, only minor updates expected === Wishlist / someday === * Make storage migration possible owner: ? status: none There needs to be a way, either via command-line or via some hooks, that someone can build a "storage migration" feature on top of libxl or xl. * Full-VM snapshotting owner: ? status: none Have a way of coordinating the taking and restoring of VM memory and disk snapshots. This would involve some investigation into the best way to accomplish this. * VM Cloning owner: ? status: none Again, a way of coordinating the memory and disk aspects. Research into the best way to do this would probably go along with the snapshotting feature. * xl vm-{export,import} owner: ? status: none Allow xl to import and export VMs to other formats; particularly ovf, perhaps the XenServer format, or more. * Memory: Replace PoD with paging mechanism owner: george@citrix status: none * PV audio (audio for stubdom qemu) owner: stefano.panella@citrix status: ? * Wait queues for mm > Needed for more advanced paging schemes owner: ? status: Draft posted Feb 2012; more work to do. * V4V: Inter-domain communication owner (Xen): dominic.curran@citrix.com status (Xen): patches submitted owner (Linux driver): stefano.panella@citrix status (Linux driver): in progress * Serial console improvements owner: ? status: Stalled (see below) -xHCI debug port (Needs hardware) -Firewire (needs hardware)