Design Sessions
2018: Developer and Design Summit
To Do:
Session hosts, please send notes to xen-devel@ and update the wiki or send the notes to community dot manager at xenproject dot org. |
Architecture
- Reworking x86 Xen, current status and future plan (Wei Liu, Citrix)
- A year ago Wei presented two projects about reworking x86 Xen. A lot of things happened since then. This session aims to give a quick update on the progress and asks stakeholders for suggestions and opinions for future development.
- PCI pass-through with de-privileged QEMU (Xin Li, Citrix)
- "Previously, when there is PCI device being passed through, the QEMU can only run in privileged mode. This design is to let QEMU always run in de-privileged mode.
- change to xen, mainly in libdevicemodel to add the DM-ops for passing through PCI device in xen-domid-restrict mode.
- change to libxl, to pass PCI config fd to QEMU.
- change to QEMU, to read configuration and avoid reading from /dev/mem directly.
- change to toolstack, to allow QEMU read PCI info from sysfs.
- Need further discusion about reading form /dev/mem part.
- what device / OS will perform this operation(read from /dev/mem)
- can mmapping of /sys/bus/pci/devices/0000:XX:XX.X/resouceX replace the reading from /dev/mem."
- [TODO Resource mapping, PV-IOMMU and page ownership in Xen] (Paul Durrant, Citrix)
- "The recent series to add direct resource mapping into Xen highlighted areas where the current status quo of PV domains being able to map any page assigned to them is problematic from a security PoV. There are pages that constitute a resource, which should probably be accounted to a domain without that domain having the privilege to map the resource. The current scheme does not allow for this. Thus it would be useful to discuss ideas on how we might improve the situation.
- Page ownership also creates problems with PV-IOMMU when dealing with grant mapped foreign pages."
Intel Specific
- [TODO Intel Processor Trace for Xen hypervisor design discussion]
- [TODO how to support more vCPUs in a HVM guest]
- [TODO NVDIMM Discussion]
- [TODO SGX deep dive and SGX virtualization design discussion]
Embedded and Safety
- [TODO Dom0less and static partitioning]
- [TODO A Strawman Plan to Make Safety Certification for Xen Easier]
- [TODO Graphic virtualization on Xen]
Working Practice, Process, ...
- Testing/Building with Docker/GitLab (Doug Goldstein, Rackspace)
- [TODO (Automated?) Performance Testing in Virtualization] (Dario Faggioli, Suse)
- Detecting performance regressions, and identifying what causes them, is particularly hard, in virtualization. In fact, what benchmarks shall be used? In what kind of VMs do we run them? How many VMs, and how large? All equally large? Same benchmarks in all VMs? Also, what do we want to measure: virtualization overhead? The impact of a change/feature, or of a particular configuration of the hypervisor, the host OS or the guest OS? Or maybe we want to compare different virtualization solutions?
- Also, with so many moving parts, automation is a must, but may also be problematic. E.g., hosts and VMs need being provisioned and benchmarks run concurrently in VMs.
- And what about comparing different runs, reaching statistical significance...
- This session goes over these challenges, explains what is being done, both within SUSE and in the community, and tries to envision how to improve things.
- [TODO Process changes: is the 6 monthly release Cadence too short, Security Process, ...] (Lars Kurth, Xen Project)
- Release Cadence: 2 years ago, we moved to a 6 monthly release cadence. The idea was to help companies getting features into Xen in a more predictable way. This appears not to have worked. At the same time, the number of releases is creating problems for the security team and some downstreams. I wanted to collect views to kick-start an e-mail discussion.
- Security Process: See https://lists.xenproject.org/archives/html/xen-devel/2018-05/msg01127.html
- Other changes that may be worth highlighting ...
Performance
- XenWatch Multithreading Design Session (Dongli Zhang, Oracle)
- The Xen domU create/destroy and device hotplug rely on xenwatch kernel thread to run xenwatch event callback function for each subscribed xenstore node update. Any event callback function hang would stall the only single xenwatch thread and forbid further domU create/destroy or device hotplug. This talk presents how Xenwatch Multithreading can address the xenwatch stall issue. In addition to the default xenwatch thread, the dom0 will create a per-domU kernel thread for each domU to handle their own xenwatch event. Therefore, domU create/destroy or device hotplug are still allowed even when a specific per-domU xenwatch thread is stalled. This talk first discusses the limitation in single-threaded xenwatch design with some case studies, then explains the basic knowledge on paravirtual driver, and finally presents the challenge, design and implementation of xenwatch multithreading.
Security
- [TODO Silo mode for extra defence in depth] (Xin Li, Citrix)
- workloads, with an expectation of no cross communication. Therefore, the default in Xen of allowing arbitrary communication is an unnecessary set of attack surfaces. We'd like to support, by default, rather more restrictions in use cases like this.
- [TODO Panopticon: See no secrets, leak no secrets] (George Dunlap, Citrix)
- This is a follow-on from the Spectre/Meltdown issues, where it would be a very good idea to get rid of the Directmap/etc, and we should think about doing per-domain heaps/etc. to reduce the quantity of "non-relevant" data mapped in context, to reduce the risk of data leakage.
- [TODO What is OpenXT and the Xen Security Community Doing - this was primarily about measured boot and Win10 support] (Lars Kurth, Xen Project & Rich Persaud, OpenXT)
- Paul Durrant and Lars Kurth were at https://www.platformsecuritysummit.com/ this year. Lars is happy to walk those who are interested over the highlights, expected contributions, etc. from the event and answer questions that you may have.
Other
- [TODO USB pass-through on Xenserver] (Xin Li, Citrix)
- Previously user can only passthrough the whole USB controller(as PCI device) via cmdline. This feature will allow user pass through different physical USB devices to different VMs. Current solution is based on QEMU. To support all guest OS (both HVM and PV), there's a solution alternative to implement PVUSB. To use PVUSB, we need usbfront in guest OS (Windows and Linux), and usbback in dom0. Previously there's ever PVUSB frontend/backend drivers in SLES11, but they were removed then. So now there's no Linux kernel support for PVUSB (neither usbfront nor usbback). There's no Windows usbfront for PVUSB either. We'd like to raise this topic and discuss:
- compare our phase 1 solution - QEMU based USB passthrough and PVUSB;
- the issues of the ever existing PVUSB solution (SLES11);
- the plan to implement PVUSB and address the issues above.
- [TODO From Hobbyist to Maintainer, Why and How] (Wei Liu, Citrix)
- Open source projects like Xen and Linux kernel have become the corner stones of our modern infrastructure. In this session Wei is going to explain why one, as a software engineer, would want to invest in building up technical competence and soft skill to ultimately become a maintainer in those established projects, how this can help personal career goal and business development, and finally what is involved in getting maintainership.
- [TODO Unikraft: Design and Use Cases] (Florian Schmidt, NEC)
- We can discuss the architecture of unikraft, and collect suggestions from the community. Let's also collect use cases that people use Mini-OS for, to see what functionality is still needed to eventually replace Mini-OS with unikraft.
2017: Developer and Design Summit
Notes
Intel sessions
ARM Sessions
Coprocessor Sharing and Stubdoms
- Notes on stubdoms and latency on ARM
- Shared coprocessor framework followup
- SCF configuration followup
PVH (v2)
Release and Build tools
- Notes Design Session: Making Releases Lessons Learned: Improving Our Release Process and Tooling
- Notes Design Session: Testing & CI Process and Workflow Improvements, x86/ARM/Embedded Testing, etc. - Does what we do today work?
Outcomes
- Build tools follow up
- A document for Xen release management
- A document for Xen release management, v2
Security, Safety
- Notes of Design Session: Xen Certification in Automotive Industrial
- Notes for Design Session: Loose ends for becoming a CNA (CVE Numbering Authorities) and other Security Team Operational Questions
- Notes from Design Summit Hypervisor Fuzzing Session
Outcomes
Community
Sessions Highlighted on the Wiki
Graphics Virtualization
Peer Review CommentsFeel free to make suggestions hereAnd whether you intend to attend: |
Xen Toolstacks for Server and Edge Use Cases
Peer Review CommentsFeel free to make suggestions hereAnd whether you intend to attend: |
Testing Server and Edge Hypervisors
Peer Review CommentsFeel free to make suggestions hereAnd whether you intend to attend: |
Design Session: Loose ends for becoming a CNA (CVE Numbering Authorities) and other Security Team Operational Questions -
Peer Review CommentsFeel free to make suggestions hereAnd whether you intend to attend: |