svn commit: r48590 - head/en_US.ISO8859-1/htdocs/news/status

Warren Block wblock at FreeBSD.org
Tue Apr 12 22:10:53 UTC 2016


Author: wblock
Date: Tue Apr 12 22:10:52 2016
New Revision: 48590
URL: https://svnweb.freebsd.org/changeset/doc/48590

Log:
  Add build and filemon reports from Bryan Drewery <bdrewery at FreeBSD.org>.

Modified:
  head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml

Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml
==============================================================================
--- head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml	Tue Apr 12 22:02:21 2016	(r48589)
+++ head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml	Tue Apr 12 22:10:52 2016	(r48590)
@@ -934,4 +934,139 @@
     </body>
     <help></help>
   </project>
+
+  <project cat='misc'>
+    <title>FreeBSD Build</title>
+
+    <contact>
+      <person>
+	<name>
+	  <given>Bryan</given>
+	  <common>Drewery</common>
+	</name>
+	<email>bdrewery at FreeBSD.org</email>
+      </person>
+    </contact>
+
+    <links></links>
+
+    <body>
+      <p>Build improvements for buildworld on <em>head</em> continue.
+	Some highlights include:</p>
+
+      <ul>
+	<li><em>WITH_FAST_DEPEND</em> was made default in r296668 and
+	  later made the only option in r297434.  The new depend code
+	  avoids a 'make depend' tree walk and generates .depend files
+	  during build as a side-effect of compiling.  This is using
+	  the -MF flags of the compiler.  This speeds up the build by
+	  15-35%.</li>
+
+	<li><a href="http://bugs.freebsd.org/196193">PR 196193</a>:
+	  <em>WITHOUT_CROSS_COMPILER</em> was fixed to properly use
+	  <em>--sysroot</em> which allows the option to work in more
+	  cases.  It is still unsafe when major compiler upgrades
+	  occur.  Further work is planned to improve that still.</li>
+
+	<li><em>WITHOUT_TOOLCHAIN</em> now properly builds.</li>
+      </ul>
+    </body>
+
+    <sponsor>
+      EMC / Isilon Storage Division
+    </sponsor>
+
+    <help>
+      <task>
+	<p>Opportunistically skipping the bootstrap compiler phase of
+	  buildworld.</p>
+      </task>
+
+      <task>
+	<p>Skipping the 'make obj' tree walk.</p>
+      </task>
+
+      <task>
+	<p>Enabling <em>WITH_META_MODE</em> in buildworld to provide a
+	  reliable incremental build using filemon(4) and bmake's
+	  .MAKE.MODE=meta.  This should not be confused with
+	  <em>WITH_DIRDEPS_BUILD</em> which previously was named
+	  <em>WITH_META_MODE</em> and is a drastically different build
+	  system presented at BSDCan 2014 by Simon Gerraty.</p>
+      </task>
+    </help>
+  </project>
+
+  <project cat='kern'>
+    <title>Filemon performance/stability improvements</title>
+
+    <contact>
+      <person>
+	<name>
+	  <given>Bryan</given>
+	  <common>Drewery</common>
+	</name>
+	<email>bdrewery at FreeBSD.org</email>
+      </person>
+
+      <person>
+	<name>
+	  <given>Mateusz</given>
+	  <common>Guzik</common>
+	</name>
+	<email>mjg at FreeBSD.org</email>
+      </person>
+    </contact>
+
+    <links></links>
+
+    <body>
+      <p>Filemon is a kernel module for tracing which files a command
+	creates, reads, writes or executes.  It allows tracking build
+	dependencies in combination with bmake's meta mode.  Bmake
+	will store filemon's output in a .meta file along with the
+	build command and later use this to check if any of the files
+	references are missing or modified, or if the build command
+	changes, to trigger a rebuild of the target.  It provides the
+	same functionality as compiler -MF flags but for everything.
+	It will be critical for buildworld's <em>WITH_META_MODE</em>
+	(which is the normal buildworld but just using filemon) to
+	provide a reliable incremental build without even the need of
+	.depend files or compiler -MF flags.  This will allow
+	<em>-DNO_CLEAN</em> to work all of the time.</p>
+
+      <p>Over this quarter filemon on head was improved for stability
+	and performance.  It no longer causes every syscall it hooks
+	into to loop on processes looking for a matching filemon
+	struct.  It now just attaches directly to the struct proc with
+	its own pointer.  This improves performance by reducing lock
+	contention during a build using it. Much other work went into
+	improving error handling and other stability issues in the
+	module as well.</p>
+
+      <p>All of this work was done by Bryan Drewery, sponsored by EMC,
+	but much help and identification of bugs was provided by
+	Mateusz Guzik.</p>
+    </body>
+
+    <sponsor>
+      EMC / Isilon Storage Division
+    </sponsor>
+
+    <help>
+      <task>
+	<p>Improving credential handling</p>
+      </task>
+
+      <task>
+	<p>Improving EVENTHANDLER performance</p>
+      </task>
+
+      <task>
+	<p>Possibly providing a framework for syscallenter/syscallret
+	  hooking to avoid the need to hook syscalls as Filemon
+	  does.</p>
+      </task>
+    </help>
+  </project>
 </report>


More information about the svn-doc-all mailing list