FreeBSD Status Report First Quarter 2024
Here is the first 2024 status report, with 21 entries.
The New Year brings us many new interesting projects, such as the new libsys that separates system calls from libc and libpthread or work on a graphical installer for FreeBSD, which will help making our OS more user-friendly. Of course, the usual projects keep going on, such as the work on cloud-init, OpenStack, or the GCC ports. As usual our main teams share their progress with us.
Have a nice read.
Lorenzo Salvadore, on behalf of the Status Team.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A rendered version of this report is available here:
https://www.freebsd.org/status/report-2024-01-2024-03/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Table of Contents
• FreeBSD Team Reports
□ FreeBSD Core Team
□ FreeBSD Foundation
□ FreeBSD Release Engineering Team
□ Cluster Administration Team
□ Continuous Integration
□ Ports Collection
• Projects
□ Audio Stack Improvements
□ Bhyve Improvements
□ Graphical Installer for FreeBSD
• Userland
□ libsys
□ PackageKit backend for FreeBSD pkg
• Kernel
□ iwlwifi(4) and wireless for 13.3-RELEASE
• Architectures
□ Ten64, WHLE-LS1, and HoneyComb
• Cloud
□ FreeBSD on Microsoft HyperV and Azure
□ FreeBSD as a Tier 1 cloud-init Platform
□ OpenStack on FreeBSD
• Documentation
□ Documentation Engineering Team
• Ports
□ FreshPorts: Notification of new packages
□ GCC on FreeBSD
□ Valgrind: port to arm64 on its way
• Third Party Projects
□ Containers and FreeBSD: Pot, Potluck and Potman
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FreeBSD Team Reports
Entries from the various official and semi-official teams, as found in the Administration Page.
FreeBSD Core Team
Contact: FreeBSD Core Team <
[email protected]>
The FreeBSD Core Team is the governing body of FreeBSD.
13.3-RELEASE
FreeBSD 13.3 was released on March 5th, 2024.
The release announcement is at:
https://www.freebsd.org/releases/13.3R/announce/
Along the release engineering team, the project dedicates the 13.3-RELEASE to Glen Barber, with thanks for his many years of contributions as Release Engineer.
Future of 32-bit platform support
Core announced Future of 32-bit platform support in FreeBSD for deprecating 32-bit platforms over the next couple of major releases.
Commit bits
• Core approved the src commit bit for Bojan Novković
• Core reactivated the src commit bits for Mark Peek, Mark Murray, and
Lawrence Stewart
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FreeBSD Foundation
Links:
FreeBSD Foundation URL:
https://freebsdfoundation.org/
Technology Roadmap URL:
https://freebsdfoundation.org/blog/technology-roadmap/ Donate URL:
https://freebsdfoundation.org/donate/
Foundation Partnership Program URL:
https://freebsdfoundation.org/our-donors/ freebsd-foundation-partnership-program/
FreeBSD Journal URL:
https://freebsdfoundation.org/journal/
Foundation Events URL:
https://freebsdfoundation.org/our-work/events/
Contact: Deb Goodkin <
[email protected]>
The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to supporting and promoting the FreeBSD Project and worldwide community, and helping to advance the state of FreeBSD. We do this in both technical and non-technical ways. We are 100% supported by donations from individuals and corporations and those investments help us fund the:
• Software development projects to implement features and functionality in
FreeBSD
• Sponsor and organize conferences and developer summits to provide
collaborative opportunities and promote FreeBSD
• Purchase and support of hardware to improve and maintain FreeBSD
infrastructure
• Resources to improve security, quality assurance, and continuous
integration efforts
• Materials and staff needed to promote, educate, and advocate for FreeBSD
• Collaboration between commercial vendors and FreeBSD developers
• Representation of the FreeBSD Project in executing contracts, license
agreements, and other legal arrangements that require a recognized legal
entity
Operations
We kicked off the new year with ambitious goals to help move the FreeBSD Project forward by identifying features and functionality to support in the operating system and increasing our advocacy efforts to increase and expand the visibility of FreeBSD. Stay tuned for a blog post that will provide more information on our 2024 goals and plans.
We also published the 2024 Budget. In order to provide greater transparency about the budgeting process, we wrote a blog post that provides more details on how funding is allocated, new breakouts of some of the project expense categories, and more details on where the funding is going.
OS Improvements
During the first quarter of 2024, 180 src, 65 ports, and 18 doc tree commits identified The FreeBSD Foundation as a sponsor.
Three new projects began this quarter.
• Work began to improve FreeBSD’s audio stack and provide audio developers
with useful tools and frameworks to make sound development on FreeBSD
easier. Read more in Christos Margiolis Audio Stack Improvements report
entry.
• Olivier Certner began his second contract with the Foundation, and this
time around, the main goal is to make unionfs stable and useful on FreeBSD.
Other work may include revamping VFS lookups, improving out-of-memory
handling, implementing a notification system for en-masse detection of
filesystem changes such as inotify, and improving console usability.
• This quarter, a new project to add hierarchical rate limits to the OpenZFS
file system began. Pawel Dawidek will add support for limits that will be
configurable, similar to quotas, but would limit the number of read/write
operations and read/write bandwidth.
Six projects continued this quarter.
• You can read about the continued work to port OpenStack components to
FreeBSD in Chih-Hsin Chang’s OpenStack on FreeBSD report entry.
• Work continued to improve cloud-init support for FreeBSD. You can read
about Mina Galić’s work in her FreeBSD as a Tier 1 cloud-init Platform
report entry.
• A new joint project began between Advanced Micro Devices (AMD) and The
FreeBSD Foundation to develop a complete FreeBSD AMD IOMMU driver. This
work will allow FreeBSD to fully support greater than 256 cores with
features such as CPU mapping and will also include bhyve integration. For
those interested in the technical details, follow Konstantin Belousov
commits tagged with Sponsored by fields for Advanced Micro Devices (AMD)
and The FreeBSD Foundation.
• Refer to Pierre Pronchery’s Graphical Installer for FreeBSD report entry to
read about the status of FreeBSD’s new graphical installer.
• Work continues to port the Vector Packet Processor (VPP) to FreeBSD. VPP is
an open-source, high-performance user space networking stack that provides
fast packet processing suitable for software-defined networking and network
function virtualization applications. Look for a pending article from the
developer working on the project, Tom Jones, that details the experience of
porting VPP to FreeBSD.
• Björn Zeeb and Cheng Cui continue their wireless work. This quarter was
mostly focused on bug fixes and stability improvements to LinuxKPI 802.11
and net80211. Much of this work made it into the 13.3 release.
Here is a sampling of other Foundation-sponsored development completed over the first quarter of 2024:
• FreeBSD was accepted in Google Summer of Code 2024 after receiving 22
contributor proposals; on May 1, we will learn how many projects we will be
awarded
• OpenSSH: update to 9.6p1 then 9.7p1
• Deprecate bsdlabel
• Import the kernel parts of bhyve/arm64
• Various RISC-V improvements
FreeBSD Infrastructure
A contract was completed to set up a new cluster site at NYI Chicago. You can read about the details of that project on the Foundation’s blog.
Continuous Integration and Workflow Improvement
As part of our continued support of the FreeBSD Project, the Foundation supports a full-time staff member dedicated to improving the Project’s continuous integration system and the test infrastructure. The full update can be found within the quarterly status report.
Partnerships and Research
A focus of Partnerships this Quarter has been to educate the industry about the innovations in the FreeBSD community and the impact that FreeBSD continues to have as a cornerstone to our digital society. This is an ongoing priority, and one we invite (encourage) everyone using and working on FreeBSD to join us in. Greg Wallace, the Foundation Partnerships lead, is grateful for the opportunities he has had to meet with open source and industry leaders at Microsoft, Google, AWS, OpenSSF, Alpha-Omega, CISA, Eclipse Foundation, Open Source Initiative, Apache Software Foundation, Rust Foundation, Red Hat, Linux Foundation and many others to ensure they have visibility into the key role FreeBSD plays in the global digital infrastructure. This is a role FreeBSD has earned through its technical excellence, security by design, high availability, simplicity of operations, commitment to open source collaboration, and cohesiveness.
One sees these characteristics of FreeBSD in the important ongoing funded development work such as porting VPP to FreeBSD, sponsored by RG Nets.
Ensuring industry visibility to the excellence and impact of FreeBSD is vital to ensuring tier one support for FreeBSD across all key hardware and software platforms. As a community, every conversation we have with people outside the BSD communities, and every piece of content we publish, that attest to how FreeBSD powers our individual and corporate success, brings us one step closer.
To this end, the Foundation is working on a FreeBSD Impact Report that will aggregate the core and often mission critical role FreeBSD plays in society, from embedded systems powered by QNX, to payments and check processing, to digital entertainment, internet and cybersecurity infrastructure.
Our community is stepping up in innumerable ways, including to make sure FreeBSD supports industry-standard containerized workloads — check out the Open
Container Initiative FreeBSD runtime extension working group.
The recently opened hardware vendor support survey will feed into a hardware support guide that reflects the collective experience of all respondents that is intended to help everyone identify hardware vendors that prioritize FreeBSD; it will also help focus Partnerships' outreach on the priority vendors.
To close, please TELL THE WORLD YOU USE FREEBSD AND WHY. There is no wrong way to do this — put it on your blog, on your favorite social media channel, list
FreeBSD on your company’s Open Source page, contact the Foundation about a Case
Study, etc.
Stormshield, a leading cybersecurity company based in Europe, provides a great example of how vendors that use FreeBSD can do this. The footer of their blogs says: "A strong supporter of Open Source, Stormshield is an active member (and sponsor) of the FreeBSD community…Whenever we modify Open Source software, make patches or add features, we offer them to the community for inclusion."
Advocacy
The first quarter of 2024 marked the beginning of a new era for the Foundation Advocacy team. We welcomed Kim McMahon in the role of Senior Director of Advocacy and Community and also brought on two new technical writers to help increase the frequency and depth of the FreeBSD-related content we produce. Just some of our expanded Q1 efforts to support FreeBSD are below.
• Began work planning the on the May 2024 FreeBSD Developer Summit,
co-located with BSDCan, taking place May 29-30, 2024 in Ottawa, Canada
• Introduced FreeBSD to new and returning folks at State of Open Con 24 in
London, UK, February 6-7, 2024
• Held an Introduction to FreeBSD half-day workshop and staffed a booth at
SCaLE21x, which took place March 14-17, 2024 in Pasadena, CA. Thanks to
Gordon Tetlow for his help with the workshop
• The Foundation team also worked on a common message on the improvement and
benefits of FreeBSD to ensure consistency between the FreeBSD Foundation
and Core Team
• Members of the Foundation team served as Administrators for the 2024 Google
Summer of Code. This year marks the 20th anniversary of Google Summer of
Code and the 20th year that the FreeBSD Project was accepted as a mentoring
organization. The Project received 23 applications from prospective interns
• Provided an overview of FreeBSD 13.x including the 13.3 release
• Worked on the final report of the 2024 FreeBSD Community Survey. Be on the
lookout for the report at the end of April
• In partnership with Innovate UK and Digital Security by Design (DSbD), the
Foundation held the first annual Digital Security by Design (DSbD)
Ecosystem Beacon Awards to celebrate innovators working with and enhancing
CheriBSD
• Published numerous blogs including:
□ What Makes the FreeBSD Governance Model Successful
□ Guiding the future of FreeBSD releases: Colin Percival, the new Release
Engineering Team Lead
• Authored or participated in a number of Thought Leadership and News
articles including:
□ The Cybersecurity Battle Has Come to Hardware
□ Ampere in the Wild: How FreeBSD Employs Ampere Arm64 Servers in the
Data Center
□ ISAs and the Dawning Hardware Security Revolution
□ Published the March 2024 FreeBSD Update with a new look
□ Released the November/December 2023 and January/February 2024 issues of
the FreeBSD Journal now with HTML versions of the articles
Fundraising
Thank you to everyone who gave us a financial contribution last quarter to help fund our work to support the Project. 2024 started strong with a total of $250,855 raised this quarter. We are grateful for your investment in FreeBSD!
Please consider supporting our efforts in 2024 by making a donation here:
https://freebsdfoundation.org/donate/.
Or, check out our Partnership opportunities here:
https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/.
Legal/FreeBSD IP
The Foundation owns the FreeBSD trademarks, and it is our responsibility to protect them. We also provide legal support for the core team to investigate questions that arise.
Go to
https://freebsdfoundation.org to find more about how we support FreeBSD and how we can help you!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FreeBSD Release Engineering Team
Links:
FreeBSD 13.3-RELEASE announcement URL:
https://www.freebsd.org/releases/13.3R/announce/
FreeBSD 14.1-RELEASE schedule URL:
https://www.freebsd.org/releases/14.1R/schedule/
FreeBSD releases URL:
https://download.freebsd.org/releases/ISO-IMAGES/
FreeBSD development snapshots URL:
https://download.freebsd.org/snapshots/ISO-IMAGES/
Contact: FreeBSD Release Engineering Team, <
[email protected]>
The FreeBSD Release Engineering Team is responsible for setting and publishing release schedules for official project releases of FreeBSD, announcing code freezes and maintaining the respective branches, among other things.
During the first quarter of the year, the Team managed 13.3-RELEASE, leading to the final RELEASE build and announcement in March. Planning has started for the upcoming 14.1-RELEASE cycle.
The Release Engineering Team continued providing weekly development snapshot builds for the main, stable/14, and stable/13 branches.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Cluster Administration Team
Links:
Cluster Administration Team members URL:
https://www.freebsd.org/administration/#t-clusteradm
Contact: Cluster Administration Team <
[email protected]>
FreeBSD Cluster Administration Team members are responsible for managing the machines the Project relies on to synchronize its distributed work and communications.
In this quarter, the team has worked on the following:
• Regular support for FreeBSD.org user accounts.
• Regular disk and parts support (and replacement) for all physical hosts and
mirrors.
• Set up a new mirror in Chicago.
FreeBSD Official Mirrors Overview
Current locations are Australia, Brazil, Germany, Japan (two full mirror sites), Malaysia, South Africa, Sweden, Taiwan, United Kingdom (full mirror site), United States of America — California, Chicago, New Jersey (primary
site), and Washington.
The hardware and network connection have been generously provided by:
• Bytemark Hosting (being decommissioned)
• Cloud and SDN Laboratory at BroadBand Tower, Inc
• Department of Computer Science, National Yang Ming Chiao Tung University
• Equinix
• Internet Association of Australia
• Internet Systems Consortium
• INX-ZA
• KDDI Web Communications Inc
• Malaysian Research & Education Network
• MetaPeer
• New York Internet
• NIC.br
• Teleservice Skåne AB (new since 2023Q4)
• Your.Org
New official mirrors are always welcome. We have noted the benefits of hosting single mirrors at Internet Exchange Points globally, as evidenced by our existing mirrors in Australia, Brazil, and South Africa. If you are affiliated with or know of any organizations willing to sponsor a single mirror server, please contact us. We are particularly interested in locations on the United States West Coast and throughout Europe.
See generic mirrored layout for full mirror site specs and tiny-mirror for a single mirror site.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Continuous Integration
Links:
FreeBSD Jenkins Instance URL:
https://ci.FreeBSD.org
FreeBSD CI Tinderbox view URL:
https://https://tinderbox.freebsd.org
FreeBSD CI artifact archive URL:
https://artifact.ci.FreeBSD.org
Hosted CI wiki URL:
https://wiki.FreeBSD.org/HostedCI
3rd Party Software CI URL:
https://wiki.FreeBSD.org/3rdPartySoftwareCI
Tickets related to freebsd-testing@ URL:
https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=open&email1=testing%40FreeBSD.org&emailassigned_to1=1&emailcc1=1&emailtype1=equals
FreeBSD CI Repository URL:
https://github.com/freebsd/freebsd-ci
dev-ci Mailing List URL:
https://lists.FreeBSD.org/subscription/dev-ci
Contact: Jenkins Admin <
[email protected]>
Contact: Li-Wen Hsu <
[email protected]>
Contact: freebsd-testing Mailing List
Contact: IRC #freebsd-ci channel on EFNet
In the first quarter of 2024, we worked with the project contributors and developers to address their testing requirements. Concurrently, we collaborated with external projects and companies to enhance their products by testing more on FreeBSD.
Important completed tasks:
• With help from clusteradm, the host running test VMs had disk and memory
upgraded by reusing the parts of decommissioned machines.
• Update the build environment of stable/13 jobs to 13.3-RELEASE.
• Turn i386 build on main branch to use cross build on amd64.
Work in progress tasks:
• Merging
https://reviews.freebsd.org/D43786
• Merging
https://reviews.freebsd.org/D36257
• Adding new hardware purchased by the FreeBSD Foundation to the CI cluster
• Designing and implementing pre-commit CI building and testing and pull/
merge-request based system (to support the workflow working group)
• Proof of concept system is in progress.
• Designing and implementing use of CI cluster to build release artifacts as
release engineering does, starting with snapshot builds
• Simplifying CI/test environment setting up for contributors and developers
• Setting up the CI stage environment and putting the experimental jobs on it
• Redesigning the hardware test lab and adding more hardware for testing
Open or queued tasks:
• Collecting and sorting CI tasks and ideas
• Setting up public network access for the VM guest running tests
• Implementing use of bare-metal hardware to run test suites
• Adding drm ports building tests against -CURRENT
• Planning to run ztest tests
• Helping more software get FreeBSD support in its CI pipeline (Wiki pages:
3rdPartySoftwareCI, HostedCI)
• Working with hosted CI providers to have better FreeBSD support
Please see freebsd-testing@ related tickets for more WIP information, and do not hesitate to join the effort!
Sponsor: The FreeBSD Foundation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Ports Collection
Links:
About FreeBSD Ports URL:
https://www.FreeBSD.org/ports/
Contributing to Ports URL:
https://docs.freebsd.org/en/articles/contributing/# ports-contributing
Ports Management Team URL:
https://www.freebsd.org/portmgr/
Ports Tarball URL:
http://ftp.freebsd.org/pub/FreeBSD/ports/ports/
Contact: Tobias C. Berner <
[email protected]>
Contact: FreeBSD Ports Management Team <
[email protected]>
The Ports Management Team is responsible for overseeing the overall direction of the Ports Tree, building packages, and personnel matters. Below is what happened in the last quarter.
According to INDEX, there are currently 32,244 ports in the Ports Collection. There are currently ~3,300 open ports PRs. The last quarter saw 12,991 commits by 158 committers on the main branch and 888 commits by 61 committers on the 2024Q1 branch. Compared to last quarter, this means a large increase in the number of commits on the main branch (up from 9,424) and slightly more backports to the quarterly branch (up from 781). The number of ports also increased (up from 31,942).
In Q1 there were around 14,127 commits to main: The most active committers were:
• 2934 sunpoet
• 2676 bofh
• 1297 yuri
• 748 eduardo
• 545 jbeich
• 347 arrowd
• 233 diizzy
• 195 yasu
• 170 ehaupt
• 164 wen
A lot has happened in the ports tree in the last quarter, an excerpt of the major software upgrades are:
• pkg 1.21.0
• New USES: ocaml
• Default version of gcc switched to 13
• Default version of ruby switched to 3.2
• Default version of lazarus switched to 3.2.0
• Default version of go switched to 1.21
• Chromium updated to 123.0.6312.105
• Electron-28 updated to 28.2.10
• Electron-27 updated to 27.3.9
• Firefox updated to 124.0.2
• Firefox-esr updated to 115.9.1
• KDE updated to Frameworks 5 5.115, Frameworks 6 to 6.0.0 Plasma Desktop 5
to 5.27.11, Plasma Desktop 6 to 6.0.2
• Qt5 updated to 5.15.13
• Qt6 updated to 6.6.3
• Python updated to 3.11.9, 3.10.14 and 3.8.10
• Ruby updated to 3.2.3
• Rust updated to 1.77.0
• SDL updated to 2.30.2
• Sway updated to 1.9
• wlroots updated to 1.17.2
• Wine updated to 9.0
• Xorg server updated to 0.17.2
During the last quarter, FreeBSD Packages Management Team ran 17 exp-runs to test various ports upgrades, updates to default versions of ports, subpackage support and base system changes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Projects
Projects that span multiple categories, from the kernel and userspace to the Ports Collection or external projects.
Audio Stack Improvements
Contact: Christos Margiolis <
[email protected]>
The FreeBSD audio stack is one of those fields that does not attract the same attention and development as others do, since it has been left largely unmaintained, and, although high in quality, there is still room for improvement — from lack of audio development frameworks, to missing userland
utilities and kernel driver-related bugs. This project is meant to touch on all those areas, and as such, is more of a general improvement project, than an implementation of a specific feature.
So far, my focus has been towards the kernel side of the audio stack, with D43545 being probably the most requested and notable patch. I am also working on scrapping the rather outdated "snd_clone" audio device cloning framework of sound(4), and replacing it with DEVFS_CDEVPRIV(9) (D44411).
Some of the future tasks include:
• Attempt to find a better (ideally automatic) way to handle snd_hda(4)
pin-patching.
• Implement an oss(3) library and audio(8) utility, in similar fashion to
mixer(3) and mixer(8).
• Write a bluetooth device management utility.
• Improve mixer(3) and mixer(8).
• Improve documentation and test suite where needed.
A more detailed description can be found here.
You can also follow the development process in freebsd-multimedia@, where I post regular reports:
• Report #1
• Report #2
• Report #3
• Report #4
• Report #5
• Report #6
• Report #7
• Report #8
Sponsor: The FreeBSD Foundation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Bhyve Improvements
Links:
bhyve production users calls URL:
https://callfortesting.org
FreeBSD Wiki - Enterprise Working Group URL:
https://wiki.freebsd.org/EnterpriseWorkingGroup
FreeBSD Wiki - EWG - bhyve and jails management tooling URL:
https://wiki.freebsd.org/ChrisMoerz/bhyve_management
Jan Bramkamp’s work on s6rc URL:
http://static.bultmann.eu/s6-talk/
vmstated on GitHub URL:
https://github.com/christian-moerz/vmstated
YouTube - vmstated explained URL:
https://www.youtube.com/watch?v=f60NCrunXyw
Contact: Chris Moerz <
[email protected]>
Bhyve I/O Performance Measurements
Participants of the weekly bhyve production users calls recently discussed bhyve’s I/O performance. Various ways of measuring and comparing were brought up, however it was quickly clear that there is currently no formal analysis and report on this. So, we started this effort in the hopes of better understanding the various impacts of configuration options for a guest on its I/O performance. We created a set of shell scripts that harness a FreeBSD guest for running benchmarks/fio I/O performance measurements under various configurations. This allows us to compare multiple criteria like bandwidth, latency, IOPS, and more.
So far, we are testing for
• different storage backends (i.e. ahci-hd, nvme, virtio-blk)
• different memory settings
• different CPU pinning options
• different block sizes for the backing storage
• different block sizes for accessing virtual disks
We are also pitting results for different CPU manufacturers against each other and contrasting guest vs host performance to better understand the performance impact of virtualization.
We plan to continue discussing our results during Michael Dexter’s weekly bhyve
production users call - come join us if you are interested. We also hope to be able to present the results at EuroBSDCon in Q3.
Bhyve Virtual Machine Tooling
Last year, Greg Wallace at the FreeBSD Foundation founded the Enterprise Working Group with the specific goal of addressing pain points of Enterprise users of FreeBSD. One of the work groups that emerged clustered around bhyve and jails management tooling. After collecting a set of desired features and functionality, one overarching key point for bhyve emerged: the desire to have configuration concepts and tooling for bhyve like the ones available for jails.
While other desirable features were identified as well, i.e. TPM software emulation and snapshot/restore/host-migration, the conceptual tooling question won over those due to the lower degree of complexity and its clarity on goal and the path on how to take steps towards it.
Technically, this means working out existing gaps around process supervision and virtual machine state management. First steps were taken by experimenting with existing frameworks (i.e. s6rc work by Jan Bramkamp) and eventually — through discussions in the weekly bhyve production user’s calls
(organized by Michael Dexter) — this led to a proof-of-concept implementation
of "vmstated".
Started as an experiment to better understand the problem space of process supervision and virtual machine state handling, vmstated is constructed of a daemon and vmstatedctl management utility. It is built with base-only tooling and libraries and leverages FreeBSD specific constructs like kqueue to minimize its resource impact.
vmstated is configured via a UCL configuration file (similar to jails.conf) and — in combination with a bhyve_config(5) configuration file — already
provides highest flexibility in configuring virtual machines. vmstatedctl provides a jail-like command set to start, stop, and retrieve status information about guests. State transitions can easily be hooked via shell scripts and allow running additional commands for network or storage set up and tear down when relevant state changes occur.
An initial release is already in ports as sysutils/vmstated and updates are pending commit; however, the newest version can be found on GitHub. We are considering expanding the work; we would also like to invite anyone interested to join us in this work! Patches, suggestions, feedback, etc. are all very much welcome!
If you want to know more about our work, come join us at one of Michael Dexter’s weekly bhyve production users calls or reach me by email.
Documentation
We managed to update a few parts of the Handbook and Porter’s Handbook (thanks
to Ed Maste, Joseph Mingrone, Pau Amma, and Rodney W. Grimes):
• several improvements and expansions to the virtualization chapter in the
FreeBSD Handbook
□ using a bhyve_config(5) configuration file
□ jailing bhyve
□ experimental snapshot and restore feature
□ setting up a Windows guest
• we also have a review (D43940) up for an initial step to improving the
bhyve man page
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)