From owner-svn-doc-all@FreeBSD.ORG Tue Jan 13 02:40:18 2015
Return-Path: This is a draft of the October–December 2014 status
- report. Please check back after it is finalized, and an
- announcement email is sent to the &os;-Announce mailing
- list. This is a draft of the October–December 2014
+ status report. Please check back after it is finalized, and
+ an announcement email is sent to the &os;-Announce mailing
+ list. This report covers &os;-related projects between October and
December 2014. This is the last of four reports planned for
2014. The fourth quarter of 2014 included a number of significant improvements to the &os;
- system. In particular, compatibility with other systems was enhanced. This included
- significant improvements to the Linux compatibility layer, used to
- run Linux binaries on &os;, and the port of WINE, used to run Windows
- applications. Hypervisor support improved, with &os; gaining the ability
- to run as domain 0 on Xen's new high-performance PVH mode, bhyve gaining
- AMD support, and new tools for creating &os; VM images arriving. This quarter was also an active time for the toolchain, with numerous
- improvements to the compiler, debugger, and other components, including
- initial support for C++14, which should be complete by
- &os; 10.2. The fourth quarter of 2014 included a number of significant
+ improvements to the &os; system. In particular, compatibility
+ with other systems was enhanced. This included significant
+ improvements to the Linux compatibility layer, used to run Linux
+ binaries on &os;, and the port of WINE, used to run Windows
+ applications. Hypervisor support improved, with &os; gaining
+ the ability to run as domain 0 on Xen's new high-performance PVH
+ mode, bhyve gaining AMD support, and new tools for creating &os;
+ VM images arriving. This quarter was also an active time for the toolchain, with
+ numerous improvements to the compiler, debugger, and other
+ components, including initial support for C++14, which should be
+ complete by &os; 10.2. Thanks to all the reporters for the excellent work! With funding from the &os; Foundation, the &os; forums
- were migrated to the XenForo software. The new software is far more
- capable and easy to use. While the entire forum team
- contributed, &a.danger; did an excellent job
- importing existing users and messages and bringing back the
- often-requested "Thanks" feature. The upgrade was completed in
- time to be ready for the influx of new users from the release of
- &os; 10.1, and we have already seen an increase in usage.
Developers with an @FreeBSD.org address can contact forum - administrators to obtain the highly-desired "@" suffix on their - forum user name along with a Developer flag.
+ administrators to obtain the highly-desired "@" suffix on + their forum user name along with a Developer flag.We want to thank the Foundation for making this possible, and
the users for their patience and continued presence on the
@@ -128,7 +131,8 @@
Encourage more developers and users to try the new forums. Encourage more developers and users to try the new
+ forums.
The Reaper facility was added, allowing a process to reliably track the - running and exiting state of the whole subtree of the processes. - It is intended to improve tools like timeout(1) or - poudriere, by making it impossible for the runaway grandchild to - escape the controlling process. The feature was designed based on - similar facilities in DragonFlyBSD and Linux, with some - references to Solaris contracts. Committed to HEAD in - r275800.
- -The FreeBSD suspension code does not - ensure that the system, both software and hardware, - is in a steady and consistent state. One aspect is - usermode process activity, which is not yet stopped, continuing to - making requests to the hardware. It is not realistic to expect - drivers to be able to correctly handle the calls after - SUSPEND_CHILD.
- -We developed a facility to stop - usermode threads at safe points, where they are known to not - own and to not wait for kernel resources, in particular, not - waiting for device requests finishing. It is based on the - existing single-threading code, but extending it to allow external - thread to put some processes into stopped state. Also, a facility - to sync filesystems before suspend was added, to ensure that - consistent metadata and as much as possible of the cached user - data are on stable storage, to minimize damage of failed - resume.
+The Reaper facility was added, allowing a process to reliably + track the running and exiting state of the whole subtree of + the processes. It is intended to improve tools like + timeout(1) or poudriere, by making it impossible for the + runaway grandchild to escape the controlling process. The + feature was designed based on similar facilities in + DragonFlyBSD and Linux, with some references to Solaris + contracts. Committed to HEAD in r275800.
+ +The FreeBSD suspension code does not ensure that the system, + both software and hardware, is in a steady and consistent + state. One aspect is usermode process activity, which is not + yet stopped, continuing to making requests to the hardware. + It is not realistic to expect drivers to be able to correctly + handle the calls after SUSPEND_CHILD.
+ +We developed a facility to stop usermode threads at safe + points, where they are known to not own and to not wait for + kernel resources, in particular, not waiting for device + requests finishing. It is based on the existing + single-threading code, but extending it to allow external + thread to put some processes into stopped state. Also, a + facility to sync filesystems before suspend was added, to + ensure that consistent metadata and as much as possible of the + cached user data are on stable storage, to minimize damage of + failed resume.
The code stressed some parts of the system and has led to - discovery of a number of bugs in different areas, - including process management, buffer cache, and syscall - handlers. The bugs were fixed, and the fixes and features commmitted - by a series culminating in r275745.
- -During the work described above, it - was noted that process spinlock duties are significantly - overloaded (the same is true for the process lock). The spinlock - was split into per-feature locks in r275121. As result, it - was also possible to eliminate recursion on it in r275372.
+ discovery of a number of bugs in different areas, including + process management, buffer cache, and syscall handlers. The + bugs were fixed, and the fixes and features commmitted by a + series culminating in r275745. + +During the work described above, it was noted that process + spinlock duties are significantly overloaded (the same is true + for the process lock). The spinlock was split into + per-feature locks in r275121. As result, it was also possible + to eliminate recursion on it in r275372.
Most system features work, including keyboard, WiFi, sound, - VESA graphics, touchpad, USB and decent battery life (5 to 6 hours).
+ VESA graphics, touchpad, USB and decent battery life (5 to 6 + hours).Packer is a tool for - creating identical machine images for multiple platforms from a - single source configuration.
+ creating identical machine images for multiple platforms from + a single source configuration.Vagrant is a tool to create and configure lightweight, reproducible, and portable development environments.
-To get started, clone the Git repo and follow the directions in - the README. More information is available from the Packer and - Vagrant websites.
+To get started, clone the Git repo and follow the directions + in the README. More information is available from the Packer + and Vagrant websites.
The package development team has released pkg(8) 1.4. - This release fixes lots of bugs and adds some new features: +
The package development team has released pkg(8) + 1.4. This release fixes lots of bugs and adds some new + features:
An important part of the development direction for the 1.4 - release was stabilizing the existing features and - improving the pkg(8) experience on small/embedded - machines (reducing memory usage and speeding up operations).
+ release was stabilizing the existing features and improving + the pkg(8) experience on small/embedded machines + (reducing memory usage and speeding up operations). -pkg(8) is not only the &os; Package Manager, but also the - Package Manager for DragonflyBSD. Support has been +
pkg(8) is not only the &os; Package Manager, but
+ also the Package Manager for DragonflyBSD. Support has been
added to build pkg(8) on OS X and Linux. This work
will allow other Operating Systems the option of adopting
pkg(8) to manage their packages and bring new
@@ -321,18 +331,23 @@
Add more regression tests. Package FreeBSD base. Allow using mtree as a plist when creating a package. Implement flexible dependencies. Test the development branch. More developers are needed, check the Issues on Github.
This change also fixes an issue with the &os; man(1) - command not being able to properly deal with ".so" in gzipped manual - pages.
- + command not being able to properly deal with ".so" in gzipped + manual pages. +The documentation team has spent a lot of time fixing issues - reported by mdoc(7) in the FreeBSD manual pages. This - greatly improves the quality of our manual pages.
- -Most manual pages with remaining issues are from contrib/, for - which changes should be reported and fixed upstream.
- -The "manlint" target has also been switched to use mandoc - -Tlint, which results in the target being more useful - when working on manual pages.
- + reported by mdoc(7) in the FreeBSD manual pages. + This greatly improves the quality of our manual pages. + +Most manual pages with remaining issues are from contrib/, + for which changes should be reported and fixed upstream.
+ +The "manlint" target has also been switched to use + mandoc -Tlint, which results in the target being more + useful when working on manual pages.
+Some groff(1) versus mandoc(1) formatting - differences have been spotted and reported to mandoc's upstream - developers.
+ differences have been spotted and reported to mandoc's + upstream developers.