Archived/Xen Roadmap/4.3: Difference between revisions

From Xen
Jump to navigationJump to search
(Explain why some external projects are being tracked)
 
(20 intermediate revisions by 4 users not shown)
Line 3: Line 3:
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:
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
* '''Feature Freeze''': 25 March, 2013
* '''Code Freezing point''': 15 April, 2013
* '''First RC''': 6 May 2013
* '''First RC''': 6 May 2013
* '''Release''': 17 June 2013
* '''Release''': 2 July 2013


The RCs and release will of course depend on stability and bugs, and will therefore be fairly unpredictable. The feature freeze may be slipped for especially important features which are near completion.
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 27 June 2013


== Feature list ==
== Feature list ==
Line 13: Line 19:


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.
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 ===
=== Completed ===
<pre>
<pre>
* Default to QEMU upstream (partial)
* Linux console improvements
- pci pass-thru (external)
owner: jan@novell
- enable dirtybit tracking during migration (external)
-EHCI debug port (committed)
- 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
</pre>
</pre>

=== Bugs ===
<pre>
* qemu-upstream not freeing pirq
> http://www.gossamer-threads.com/lists/xen/devel/281498
priority: high, probably not a blocker
status: patches posted

* AMD: IOMMU accidental clearing
owner: Jan Beulich, Suravee Suthikulpanit
status:

* __update_vcpu_system_time if system_time comes out negative
status: Not for 4.3
</pre>

=== Not yet completed ===
=== Not yet completed ===
<pre>
<pre>
* PVH mode, domU (w/ Linux)
* ARM v7 server port (basic)
* ARM v8 server port (basic)
owner: mukesh@oracle
- Goal: Good Arndale support for 4.3
status: ?
- Regressions here will not slip the release, so development is ongoing
</pre>
=== External projects (Not affected by feature freeze) ===
<pre>
* xl pci-detach broken for pv guests?
> http://bugs.xenproject.org/xen/bug/12
> kernel doesn't know about moving into states 7 and 8
status: External


* Race in PV shutdown between tool detection and shutdown watch
* PVH mode, dom0 (w/ Linux)
> http://www.gossamer-threads.com/lists/xen/devel/282467
owner: mukesh@oracle
> Nothing to do with ACPI
status: ?
status: Probably a bug in Linux xen drivers


* Multi-page blk rings (external)
* Event channel scalability
owner: attilio@citrix
- blkback in kernel roger@citrix
- qemu blkback
status: initial design proposed
status: Overall blk architecture being discussed
Increase limit on event channels (currently 1024 for 32-bit guests,
prognosis: Fair
4096 for 64-bit guests)


* Xen EFI feature: Xen can boot from grub.efi
* ARM server port
owner: ijc@citrix
owner: Daniel Kiper
status: Just begun
status: Core hypervisor patches accepted; Linux paches pending
prognosis: Fair


* libvirt/libxl integration (external)
* NUMA scheduler affinity
- Update libvirt to 4.2
critical
status: Patch accepted
owner: dario@citrix
- Migration
status: ?
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
</pre>


=== For future releases ===
* NUMA Memory migration
<pre>
owner: dario@citrix
* xl does not handle migrate interruption gracefully
status: ?
> If you start a localhost migrate, and press "Ctrl-C" in the middle,
> you get two hung domains
status: Probably not for 4.3


* libxl / xl does not handle failure of remote qemu gracefully
* blktap3
> Easiest way to reproduce:
owner: thanos@citrix
> - set "vncunused=0" and do a local migrate
status: ?
> - The "remote" qemu will fail because the vnc port is in use
> The failure isn't the problem, but everything being stuck afterwards is
status: Probably not for 4.3


* qxl
* Default to QEMU upstream
> http://bugs.xenproject.org/xen/bug/11http://bugs.xenproject.org/xen/bug/11
- qemu-based stubdom (Linux or BSD libc)
- Uninitialized struct element in qemu
owner: anthony@citrix
- Revert 5479961 to re-enable qxl in xl,libxl
status: ?
- Option in Xen top-level to enable qxl support in qemu tree
qemu-upstream needs a more fully-featured libc than exists in
- Fix sse2 MMIO issue
minios. Either work on a minimalist linux-based stubdom with
glibc, or port one of the BSD libcs to minios.


* Polish up xenbugtool
- pci pass-thru
owner: anthony@citrix
status: ?


* acpi-related xenstore entries not propagated on migrate
* Persistent grants
> http://www.gossamer-threads.com/lists/xen/devel/282466
owner: @citrix
> Only used by hvmloader; only a clean-up, not a bug.
status: Initial implementation posted
status: Not for 4.3


* mac address changes on reboot if not specified in config file
* Multi-page blk rings
> Needs a robust way to "add" to the config
- blkback in kernel (konrad@oracle, ?@intel)
status: Too much for 4.3
- qemu blkback
status: ?


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


* PVIO NUMA improvements
* Scalability: 16TiB of RAM
- NUMA affinity for vcpus
- PV guest NUMA interface
- Sensible dom0 NUMA layout
- Toolstack pinning backend thread / virq to appropraite d0 vcpu

* xenperf
Owner: Boris Otovsky

* 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

* 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
owner: jan@suse
status: Not started
status: Patches posted for Intel; AMD not yet done
prognosis: Fair


* xl: passing more defaults in configuration in xl.conf
* libvirt integration
owner: ?
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: ?
status: ?
prognosis: Poor
To begin with, we need someone to go and make some lists:
xm/xend supports PVUSB pass-through to guests with PVUSB drivers (both PV and HVM guests).
- Features available in libvirt/KVM not available in libvirt/libxl
- port the xm/xend functionality to xl.
See http://libvirt.org/hvsupport.html
- this PVUSB feature does not require support or emulation from Qemu.
- Features available in xl/Xen but not available in libvirt/Xen
- 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
* V4V: Inter-domain communication
owner (Xen): jean.guyader@citrix.com
owner (Xen): dominic.curran@citrix.com
status (Xen): patches submitted
status (Xen): patches submitted
prognosis: Fair
owner (Linux driver): stefano.panella@citrix
owner (Linux driver): stefano.panella@citrix
status (Linux driver): in progress
status (Linux driver): in progress


* NUMA Memory migration
* xl vm-{export,import}
owner: ?
owner: dario@citrix
status: ?
status: in progress
prognosis: Fair
Allow xl to import and export VMs to other formats; particularly
ovf, perhaps the XenServer format, or more.


* Event channel scalability
* xl USB pass-through for PV guests
owner: ?
owner: wei@citrix or david@citrix
status: ?
status: RFC v5 submitted
prognosis: Deciding whether to shoot for 3-level (4.3) or FIFO (4.4)
- Port the xend PV pass-through functionality to xl.
Increase limit on event channels (currently 1024 for 32-bit guests,
- Make sure qemu-based USB with qemu-upstream works
4096 for 64-bit guests)
- Upstream the Linux frontend/backend drivers


* PVH mode (w/ Linux)
* openvswitch toostack integration
owner: roger@citrix
owner: mukesh@oracle
status: Sample script posted by Bastian ("[RFC] openvswitch support script")
status (Linux): 3rd draft patches posted.
status (Xen): RFC submitted
prognosis: Tech preview only


* blktap3
* Rationalized backend scripts (incl. driver domains)
owner: roger@citrix
owner: thanos@citrix
status: ?
status: RFCs posted
prognosis: Not for 4.3


* Guest EFI booting
* Linux console improvements
- status: tianocore in-tree, some build problems.
owner: jan@suse
prognosis: Poor.
-xHCI debug port (Needs hardware)
Needs new owner.
-Firewire (needs hardware)


* Multi-page net protocol (external)
* CPUID-based idle (don't rely on ACPI info f/ dom0)
owner: jan@suse
owner: ijc@citrix or annie.li@oracle
status: done, to be submitted
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
* Remove hardcoded mobprobe's in xencommons
owner: ?
owner: ?
status: ?
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
* Make storage migration possible
owner: ?
owner: ?
status: ?
status: none
prognosis: Probably delay until 4.4
There needs to be a way, either via command-line or via some hooks,
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
that someone can build a "storage migration" feature on top of libxl
Line 142: Line 293:
* Full-VM snapshotting
* Full-VM snapshotting
owner: ?
owner: ?
status: ?
status: none
prognosis: Probably delay until 4.4
Have a way of coordinating the taking and restoring of VM memory and
Have a way of coordinating the taking and restoring of VM memory and
disk snapshots. This would involve some investigation into the best
disk snapshots. This would involve some investigation into the best
Line 149: Line 301:
* VM Cloning
* VM Cloning
owner: ?
owner: ?
status: May need review
status: none
prognosis: Probably need 4.4
Again, a way of coordinating the memory and disk aspects. Research
Again, a way of coordinating the memory and disk aspects. Research
into the best way to do this would probably go along with the
into the best way to do this would probably go along with the
snapshotting feature.
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
* Memory: Replace PoD with paging mechanism
owner: george@citrix
owner: george@citrix
status: May need review
status: none
prognosis: Prob put off until 4.4


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

* Testing: Network driver domains


* Testing: new libxl w/ previous versions of xl
* Managed domains?


* Testing: S3
</pre>
</pre>



Latest revision as of 12:49, 12 July 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: 2 July 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 27 June 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

* qemu-upstream not freeing pirq
 > http://www.gossamer-threads.com/lists/xen/devel/281498
 priority: high, probably not a blocker
 status: patches posted

* AMD: IOMMU accidental clearing
  owner: Jan Beulich, Suravee Suthikulpanit
  status: 

* __update_vcpu_system_time if system_time comes out negative
  status: Not 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)

* xl pci-detach broken for pv guests?
  > http://bugs.xenproject.org/xen/bug/12
  > kernel doesn't know about moving into states 7 and 8
  status: External

* 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

* 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 does not handle migrate interruption gracefully
  > If you start a localhost migrate, and press "Ctrl-C" in the middle,
  > you get two hung domains
  status: Probably not for 4.3

* 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
  status: Probably not for 4.3

* qxl
  > http://bugs.xenproject.org/xen/bug/11http://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

* Polish up xenbugtool

* 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.
 status: Not for 4.3

* mac address changes on reboot if not specified in config file
  > Needs a robust way to "add" to the config
  status: Too much for 4.3

* Default to credit2

* PVIO NUMA improvements
 - NUMA affinity for vcpus
 - PV guest NUMA interface
 - Sensible dom0 NUMA layout
 - Toolstack pinning backend thread / virq to appropraite d0 vcpu

* xenperf
  Owner: Boris Otovsky

* 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

* 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: ?

* Testing: Network driver domains

* Testing: new libxl w/ previous versions of xl

* Testing: S3