Difference between revisions of "Archived/Xen Roadmap/4.3"

From Xen
(Proposed timeline)
(Feature list)
Line 30: Line 30:
 
=== Completed ===
 
=== Completed ===
 
<pre>
 
<pre>
* Serial console improvements
 
-EHCI debug port
 
 
 
* Default to QEMU upstream (partial)
 
* Default to QEMU upstream (partial)
 
- pci pass-thru (external)
 
- pci pass-thru (external)
Line 38: Line 35:
 
- xl cd-{insert,eject} (external)
 
- xl cd-{insert,eject} (external)
   
  +
* openvswitch toostack integration
* CPUID-based idle (don't rely on ACPI info f/ dom0)
 
  +
To label "tech-preview" unless we get good testing (>10 individuals)
  +
  +
* NUMA scheduler affinity
  +
  +
* Install into /usr/local by default
  +
owner: Ian Campbell
   
 
* Persistent grants for blk (external)
 
* Persistent grants for blk (external)
Line 45: Line 48:
   
 
* Allow XSM to override IS_PRIV checks in the hypervisor
 
* Allow XSM to override IS_PRIV checks in the hypervisor
  +
  +
* vTPM updates
   
 
* Scalability: 16TiB of RAM
 
* Scalability: 16TiB of RAM
   
  +
* CPUID-based idle (don't rely on ACPI info f/ dom0)
* xl QXL Spice support
 
 
* Install into /usr/local by default
 
owner: Ian Campbell
 
 
* openvswitch toostack integration
 
To label "tech-preview" unless we get good testing (>10 individuals)
 
 
* NUMA scheduler affinity
 
 
* ARM v7 server port (basic)
 
* ARM v8 server port (basic)
 
   
  +
* Serial console improvements
* vTPM updates
 
  +
-EHCI debug port
 
</pre>
 
</pre>
   
 
=== Bugs ===
 
=== Bugs ===
 
<pre>
 
<pre>
  +
* Windows 2003 fails to install in Xen-unstable tip
* xl, compat mode, and older kernels
 
  +
> Narrowed down to c/s 2fe82ac11fd078485388fe7c5e8bc3b6ac9185b0
owner: Wei Liu
 
  +
owner: Jan Beulich
Many older 32-bit PV kernels that can run on a 64-bit hypervisor with
 
  +
status: Patches posted
xend do not work when started with xl. The following work-around seems to
 
work:
 
xl create -p lightning.cfg
 
xenstore-write /local/domain/$(xl domid lightning)/device/vbd/51713/protocol x86_32-abi
 
xl unpause lightning
 
This node is normally written by the guest kernel, but for older kernels
 
seems not to be. xend must have a work-around; port this work-around to xl.
 
   
 
* AMD NPT performance regression after c/s 24770:7f79475d3de7
 
* AMD NPT performance regression after c/s 24770:7f79475d3de7
  +
> Main issue appears to be extra lock on the MMIO path
  +
> combined with no vlapic support for AMD hardware
  +
> and WinXP pounding the TPR.
  +
>
 
owner: ?
 
owner: ?
 
Reference: http://marc.info/?l=xen-devel&m=135075376805215
 
Reference: http://marc.info/?l=xen-devel&m=135075376805215
  +
status: lapic fast-path patch posted, helps a bit
  +
gplpv drivers with /patchtpr help significantly
   
  +
* Race condition in claim hypercall
* qemu-upstream: cd-insert and cd-eject not working
 
  +
owner: Ian Jackson, Konrad Wilk
http://marc.info/?l=xen-devel&m=135850249808960
 
  +
status: patches posted
   
 
* Revert Jan's debugging patch (commit bd9be94)
 
* Revert Jan's debugging patch (commit bd9be94)
 
owner: Jan Beulich
 
owner: Jan Beulich
  +
status: Few instances collected; removal late in release cycle
   
  +
* docs: xl cd-insert accepts "filename", but docs say "type:filename" in help
* Race condition in claim hypercall
 
owner: Ian Jackson, Konrad Wilk
+
owner: George
   
  +
* Update 4.3-rc to 4.3 in README; add tag bragging about 4.3
* Remove hardcoded mobprobe's in xencommons
 
owner: Wei Liu
+
owner: George
status: ?
 
   
  +
* XSA-46 regression in PV pass-through?
* Windows 2003 fails to install in Xen-unstable tip
 
  +
> Seems to be a xend issue; therefore not a 4.3 blocker
> Narrowed down to c/s 2fe82ac11fd078485388fe7c5e8bc3b6ac9185b0
 
 
owner: Jan Beulich
 
owner: Jan Beulich
</pre>
 
   
  +
* xl cd-insert doesn't fail on a missing file
   
  +
* Seabios compile failure (iasl fix?)
=== Not yet completed ===
 
  +
owner: IanC (?)
<pre>
 
  +
status:
* Multi-vector PCI MSI (support at least for Dom0)
 
owner: jan@suse
 
status: Patches posted for Intel; AMD not yet done
 
prognosis: Fair
 
   
  +
* No changeset reported when using git
* xl USB pass-through for HVM guests using Qemu USB emulation
 
owner: George
+
owner: Marek (?)
status: v6 patch series posted
 
prognosis: Fair
 
 
* Rationalized backend scripts
 
owner: roger@citrix
 
 
status: patches posted
 
status: patches posted
prognosis: Good
 
   
  +
* qemu-traditional: build on gcc 2.17
* Scripts for driver domains (depends on backend scripts)
 
  +
owner: roger@citrix
 
  +
* Scan through qemu-upstream changesets looking for important fixes (particularly for stubdoms) for qemu-traditional
status:
 
prognosis: Fair
 
   
  +
* mac address changes on reboot if not specified in config file
  +
  +
* qxl not actually working
  +
> qxl apparently not enabled during compile by default
  +
> Appear to be some other bugs even when it is working:
  +
> http://lists.xen.org/archives/html/xen-devel/2012-11/msg00713.html
  +
owner: ? (Anthony was going to take a look)
  +
We need to either fix both of these problems or disable qxl for 4.3
  +
</pre>
  +
  +
  +
=== Not yet completed ===
  +
<pre>
  +
* ARM v7 server port (basic)
  +
* ARM v8 server port (basic)
  +
- Goal: Good Arndale support for 4.3
  +
- Regressions here will not slip the release, so development is ongoing
 
</pre>
 
</pre>
 
=== External projects (Not affected by feature freeze) ===
 
=== External projects (Not affected by feature freeze) ===
Line 152: Line 155:
 
=== For future releases ===
 
=== For future releases ===
 
<pre>
 
<pre>
  +
* xl QXL Spice support
  +
  +
* Remove hardcoded mobprobe's in xencommons
  +
owner: Wei Liu
  +
status: still in discussion
  +
  +
* xl USB pass-through for HVM guests using Qemu USB emulation
  +
owner: George
  +
status: v6 patch series posted
  +
prognosis: Fair
  +
  +
* Rationalized backend scripts
  +
owner: roger@citrix
  +
status: patches posted
  +
prognosis: Good
  +
  +
* Scripts for driver domains (depends on backend scripts)
  +
owner: roger@citrix
  +
status:
  +
prognosis: Fair
  +
  +
* Multi-vector PCI MSI (support at least for Dom0)
  +
owner: jan@suse
  +
status: Patches posted for Intel; AMD not yet done
  +
prognosis: Fair
  +
 
* xl: passing more defaults in configuration in xl.conf
 
* xl: passing more defaults in configuration in xl.conf
 
owner: ?
 
owner: ?
Line 282: Line 311:
 
status: ?
 
status: ?
 
prognosis: ?
 
prognosis: ?
 
* IllumOS (OpenSolaris fork) support
 
owner: Igor Kozhukov
 
status: Stopped
 
 
</pre>
 
</pre>
   

Revision as of 11:08, 10 May 2013

Proposed timeline

We are planning on a 9-month release cycle. Xen 4.2 was released on 17 September 2012. Based on that, below are our estimated dates:

  • Feature Freeze: 25 March, 2013
  • Code Freezing point: 15 April, 2013
  • First RC: 6 May 2013
  • Release: 17 June 2013

The RCs and release will of course depend on stability and bugs, and will therefore be fairly unpredictable. Each new feature will be considered on a case-by-case basis; but the general rule will be as follows:

Last updated 10 May 2013

Feature list

Below is a list of features we're tracking for this release. If you have updates to a tracked feature you are working on, or are working on a feature and wish it to be tracked, please let me know.

NB: Several of the items on this list marked (external). These are not part of the Xen tree, but are directly related to our users' experience (e.g., work in Linux or qemu) or to integration with other important projects (e.g., libvirt indings). Since all of these are part of the Xen community work, and comes from the same pool of labor, it makes sense to track the progress here, even though they won't explicitly be released as part of 4.3.

Meanings of prognoses:

  • Excellent: It would be very unlikely for this not to be finished in time.
  • Good: Everything is on track, and is likely to make it.
  • Fair: A pretty good chance of making it, but not as certain
  • Poor: Likely not to make it unless intervention is made
  • Not for 4.3: Self-explanatory


Completed

* Default to QEMU upstream (partial)
 - pci pass-thru (external)
 - enable dirtybit tracking during migration (external)
 - xl cd-{insert,eject} (external)

* openvswitch toostack integration
  To label "tech-preview" unless we get good testing (>10 individuals)

* NUMA scheduler affinity

* Install into /usr/local by default
  owner: Ian Campbell

* Persistent grants for blk (external)
 - Linux
 - qemu

* Allow XSM to override IS_PRIV checks in the hypervisor

* vTPM updates

* Scalability: 16TiB of RAM

* CPUID-based idle (don't rely on ACPI info f/ dom0)

* Serial console improvements
  -EHCI debug port

Bugs

* Windows 2003 fails to install in Xen-unstable tip
  > Narrowed down to c/s 2fe82ac11fd078485388fe7c5e8bc3b6ac9185b0
  owner: Jan Beulich
  status: Patches posted

* AMD NPT performance regression after c/s 24770:7f79475d3de7
  > Main issue appears to be extra lock on the MMIO path
  > combined with no vlapic support for AMD hardware 
  > and WinXP pounding the TPR.
  > 
  owner: ?
  Reference: http://marc.info/?l=xen-devel&m=135075376805215
  status: lapic fast-path patch posted, helps a bit
   gplpv drivers with /patchtpr help significantly

* Race condition in claim hypercall
  owner: Ian Jackson, Konrad Wilk
  status: patches posted

* Revert Jan's debugging patch (commit bd9be94)
  owner: Jan Beulich
  status: Few instances collected; removal late in release cycle

* docs: xl cd-insert accepts "filename", but docs say "type:filename" in help
  owner: George

* Update 4.3-rc to 4.3 in README; add tag bragging about 4.3
  owner: George

* XSA-46 regression in PV pass-through?
  > Seems to be a xend issue; therefore not a 4.3 blocker
  owner: Jan Beulich

* xl cd-insert doesn't fail on a missing file

* Seabios compile failure (iasl fix?)
  owner: IanC (?)
  status: 

* No changeset reported when using git
  owner: Marek (?)
  status: patches posted

* qemu-traditional: build on gcc 2.17

* Scan through qemu-upstream changesets looking for important fixes (particularly for stubdoms) for qemu-traditional

* mac address changes on reboot if not specified in config file

* qxl not actually working
  > qxl apparently not enabled during compile by default
  > Appear to be some other bugs even when it is working:
  >   http://lists.xen.org/archives/html/xen-devel/2012-11/msg00713.html
  owner: ? (Anthony was going to take a look)
  We need to either fix both of these problems or disable qxl for 4.3


Not yet completed

* ARM v7 server port (basic)
* ARM v8 server port (basic)
 - Goal: Good Arndale support for 4.3
 - Regressions here will not slip the release, so development is ongoing

External projects (Not affected by feature freeze)

* Multi-page blk rings (external)
 - blkback in kernel roger@citrix
 - qemu blkback
  status: Overall blk architecture being discussed
  prognosis: Fair

* Xen EFI feature: Xen can boot from grub.efi
 owner: Daniel Kiper
 status: Just begun
 prognosis: Fair

* libvirt/libxl integration (external)
 - Update libvirt to 4.2
   status: Patch accepted
 - Migration
   owner: cyliu@suse (?)
   status: first draft implemented, not yet submitted
   prognosis: ?
 - Itemize other things that need work
   To begin with, we need someone to go and make some lists:
   - Features available in libvirt/KVM not available in libvirt/libxl
     See http://libvirt.org/hvsupport.html
   - Features available in xl/Xen but not available in libvirt/Xen

For future releases

* xl QXL Spice support

* Remove hardcoded mobprobe's in xencommons
  owner: Wei Liu
  status: still in discussion

* xl USB pass-through for HVM guests using Qemu USB emulation
  owner: George
  status: v6 patch series posted
  prognosis: Fair

* Rationalized backend scripts
  owner: roger@citrix
  status: patches posted
  prognosis: Good

* Scripts for driver domains (depends on backend scripts)
  owner: roger@citrix
  status: 
  prognosis: Fair

* Multi-vector PCI MSI (support at least for Dom0)
  owner: jan@suse
  status: Patches posted for Intel; AMD not yet done
  prognosis: Fair

* 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: ?
  prognosis: Poor
  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.

* qemu-based stubdom (Linux or BSD libc)
   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.

* V4V: Inter-domain communication
  owner (Xen): dominic.curran@citrix.com
  status (Xen): patches submitted
  prognosis: Fair
  owner (Linux driver):  stefano.panella@citrix
  status (Linux driver): in progress

* NUMA Memory migration 
  owner: dario@citrix
  status: in progress
  prognosis: Fair

* Event channel scalability
  owner: wei@citrix or david@citrix
  status: RFC v5 submitted
  prognosis: Deciding whether to shoot for 3-level (4.3) or FIFO (4.4) 
  Increase limit on event channels (currently 1024 for 32-bit guests,
  4096 for 64-bit guests)

* PVH mode (w/ Linux)
  owner: mukesh@oracle
  status (Linux): 3rd draft patches posted.  
  status (Xen): RFC submitted
  prognosis: Tech preview only

* blktap3
  owner: thanos@citrix
  status: RFCs posted
  prognosis: Not for 4.3

* Guest EFI booting
 - status: tianocore in-tree, some build problems.
   prognosis: Poor.
   Needs new owner.

* Multi-page net protocol (external)
  owner: ijc@citrix or annie.li@oracle
  status: Initial patches posted (by Wei Liu)
  prognosis: Poor
  expand the network ring protocol to allow multiple pages for
  increased throughput

* Wait queues for mm
  owner: ?
  status: Draft posted Feb 2012; more work to do.
  prognosis: Poor

* Xen EFI feature: pvops dom0 able to make use of EFI run-time services (external)
 owner: Daniel Kiper
 status: Just begun
 prognosis: Probably not for 4.3 (?)

* Persistent grants for net
  owner: annie.li@citrix
  status: Initial implementation not getting expected gains; more investigation requried
  prognosis: Probably not for 4.3

* Serial console improvements
  owner: ?
  status: Stalled (see below)
  prognosis: Probably not for 4.3.
  -xHCI debug port (Needs hardware)
  -Firewire (needs hardware)

* Make storage migration possible
  owner: ?
  status: none
  prognosis: Probably delay until 4.4
  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
  prognosis: Probably delay until 4.4
  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
  prognosis: Probably need 4.4
  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
  prognosis: Prob put off until 4.4 (or GSoC project)
  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
  prognosis: Prob put off until 4.4

* PV audio (audio for stubdom qemu)
  owner: stefano.panella@citrix
  status: ?
  prognosis: ?