svn commit: r46138 - head/en_US.ISO8859-1/htdocs/news/status
Benjamin Kaduk
bjk at FreeBSD.org
Fri Jan 2 02:43:27 UTC 2015
Author: bjk
Date: Fri Jan 2 02:43:25 2015
New Revision: 46138
URL: https://svnweb.freebsd.org/changeset/doc/46138
Log:
Add process management entry
Approved by: hrs (mentor, blanket)
Modified:
head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml
Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml
==============================================================================
--- head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml Fri Jan 2 02:29:34 2015 (r46137)
+++ head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml Fri Jan 2 02:43:25 2015 (r46138)
@@ -130,4 +130,73 @@
</help>
</project>
+ <project cat='kern'>
+ <title>Process management</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>Konstantin</given>
+ <common>Belousov</common>
+ </name>
+ <email>kib at FreeBSD.org</email>
+ </person>
+ <person>
+ <name>
+ <given>Peter</given>
+ <common>Holm</common>
+ </name>
+ <email>pho at FreeBSD.org</email>
+ </person>
+ </contact>
+
+ <body>
+ <p>There were several improvements made to the FreeBSD process
+ management last quarter.</p>
+
+ <p>Reaper. The facility to allow a process to reliably track the
+ running and exiting state of the whole subtree of the processes,
+ was added. It is intended to improve tools like timeout(1) or
+ poudriere, by making it impossible for the runaway granchild to
+ escape the controlling process. Feature was designed based on
+ similar facility in the DragonFlyBSD and Linux, with some
+ references to the Solaris contracts. Committed to HEAD in
+ r275800.</p>
+
+ <p>Total stop. Right now, the FreeBSD suspension code does not
+ ensures that the system, both from software and from hardware
+ view, is in the steady and consistent state. One aspect is the
+ usermode process activity which is not 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.</p>
+
+ <p>Together with Peter Holm, we developed a facility to stop
+ usermode threads at the 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 process into stopped state. Also, a facility
+ to sync filesystems before suspend was added, to ensure that
+ consistent metadata and as much as possilbe of the cached user
+ data are on stable storage, to minimize damage of failed
+ resume.</p>
+
+ <p>The code stressed some parts of the system and lead to
+ discovery of the unusual numbers of bugs in the different parts of
+ the system, including process management, buffer cache and syscall
+ handlers. The bugs were fixed, fixes and the features commmitted
+ by a series culminating in r275745.</p>
+
+ <p>Process spinlock changes. 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 lock, see r275121. Also, as result, it
+ was possible to eliminate recursion on it, r275372.</p>
+ </body>
+
+ <sponsor>The FreeBSD Foundation</sponsor>
+
+ </project>
+
</report>
More information about the svn-doc-all
mailing list