<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE report PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Status
Report//EN" "http://www.FreeBSD.org/XML/www/share/sgml/statusreport.dtd">
<!-- $FreeBSD$ -->
<report>
  <date>
    <month>April-June</month>
    <year>2010</year>
  </date>

  <section>
    <title>Introduction</title>

    <p>This report covers &os;-related projects between April and June
      2010.  It is the second of the four reports planned for 2010, and
      contains 47 entries.  During this period, a lot of work has
      gone into the development of new minor version of &os;, 8.1-RELEASE,
      which should be released within days.</p>

    <p>Thanks to all the reporters for the excellent work!  We hope you
      enjoy reading.</p>

    <p>Please note that the deadline for submissions covering the
      period between July and September 2010 is October 15th, 2010.</p>
  </section>

  <category>
    <name>soc</name>
    <description>Google Summer of Code</description>
  </category>

  <category>
    <name>proj</name>
    <description>Projects</description>
  </category>

  <category>
    <name>team</name>
    <description>&os; Team Reports</description>
  </category>

  <category>
    <name>net</name>
    <description>Network Infrastructure</description>
  </category>

  <category>
    <name>kern</name>
    <description>Kernel</description>
  </category>

  <category>
    <name>docs</name>
    <description>Documentation</description>
  </category>

  <category>
    <name>bin</name>
    <description>Userland Programs</description>
  </category>

  <category>
    <name>arch</name>
    <description>Architectures</description>
  </category>

  <category>
    <name>ports</name>
    <description>Ports</description>
  </category>

  <category>
    <name>misc</name>
    <description>Miscellaneous</description>
  </category>

  <project cat='docs'>
    <title>The &os; German Documentation Project</title>

    <contact>
      <person>
	<name>
	  <given>Johann</given>
	  <common>Kois</common>
	</name>
	<email>jkois@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Benedict</given>
	  <common>Reuschling</common>
	</name>
	<email>bcr@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://doc.bsdgroup.de">Website of the &os; German
	  Documentation Project</url>

      <url href="http://www.FreeBSD.de/mailinglists.html">Mailing lists
	  for the coordination of our work and the place where you can report
	  bugs back to us</url>
    </links>

    <body>
      <p>A number of updates to the documentation were made since the
	last status report.  We are especially grateful for the
	contributions from external people who sent the translations.  People
	like Fabian Ruch, who updated the porters-handbook to the latest
	version (which had been on his to-do list for quite some time), and
	Benjamin Lukas, who did a great job with the from-scratch
	translation of the MAC chapter of the German handbook.  We thank
	them both for their contributions and hope they will continue their
	efforts to enhance the German documentation.</p>

      <p>Frank B&ouml;rner was released from Benedicts mentorship and is
	now a full committer to the German Documentation Project.  We are
	always looking for fresh blood that is willing to be mentored by us
	as a first step in becoming committers for the documentation project
	themselves.</p>

      <p>Johann is keeping up the German website with the latest version.
	But we could use more translators for sections that are not fully
	translated yet.</p>
    </body>

    <help>
      <task>Read the translations and report bugs that you have found (even
	small ones).</task>

      <task>Translate new parts of the documentation and the
	website.</task>
    </help>
  </project>

  <project cat='soc'>
    <title>Binary Package Patch Infrastructure &mdash; pkg_patch</title>

    <contact>
      <person>
	<name>
	  <given>Ivan</given>
	  <common>Voras</common>
	</name>
	<email>ivoras@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/IvanVoras/pkg_patch">Wiki
	  page</url>
    </links>

    <body>
      <p>The pkg_patch project is about creating a binary package patch
	infrastructure which would allow users to patch their live system's
	packages in an easy and efficient way.  It is a C program written to
	interface with libpkg (for things which are common to all pkg
	utilities) meant to be included in the base system when it is done.
	It comes with built-in mass patch creation and application
	commands.  It is funded by Google Summer of Code 2010.</p>
    </body>

    <help>
      <task>Finish the project.</task>

      <task>Get some testing for it.</task>

      <task>Convince the Port Management Team it is actually a Good
	Thing to have even as an experimental feature.</task>

      <task>Agree upon the policy on which package patches will be
	created (i.e. from which point in time to which point in time),
	assuming the "stable" package tree idea has still not gotten
	traction.</task>
    </help>
  </project>

  <project cat='kern'>
    <title>Interrupt Threads</title>

    <contact>
      <person>
	<name>
	  <given>John</given>
	  <common>Baldwin</common>
	</name>
	<email>jhb@FreeBSD.org</email>
      </person>
    </contact>

    <body>
      <p>For a while I have wanted to rework interrupt threads to
	address a few issues.  The new design uses per-CPU queues of
	interrupt handlers.  Interrupt threads are allocated by a CPU from
	a pool and bound to that CPU while draining that CPU's queue of
	handlers.  Non-filter handlers can also reschedule themselves at
	the back of the current CPU's queue while executing.  Filters with
	handlers are now always enabled and should provide a full
	replacement for the various uses of filters with "fast"
	taskqueues.  A new class of "manual" handlers are also available
	which are not automatically scheduled, but are only explicitly
	scheduled from a filter.  Thus, a filter can potentially schedule
	multiple handlers.</p>

      <p>The code has been tested on amd64, but it needs wider review
	and testing.  I hope to start soliciting review and feedback soon
	with the goal of getting the code into 9.0.</p>
    </body>
  </project>

  <project cat='bin'>
    <title>BSD-Licensed iconv in Base System</title>

    <contact>
      <person>
	<name>
	  <given>G&aacute;bor</given>
	  <common>K&ouml;vesd&aacute;n</common>
	</name>
	<email>gabor@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://kovesdan.org/patches/iconv-20100708.diff">The
	  latest patch for the base system</url>
    </links>

    <body>
      <p>The work has been completed and the GNU compatibility levels
	seems to be quite high.  One exception is the fallback support.  It
	is difficult to implement that facility in this implementation
	because the design is somewhat different.  Probably, it will not be
	a big problem because that functionality is not even documented in
	the GNU version so few applications might use it.</p>
    </body>

    <help>
      <task>Run a portbuild test and solve possible problems that show
	up.</task>
    </help>
  </project>

  <project cat='bin'>
    <title>BSD-Licensed grep in Base System</title>

    <contact>
      <person>
	<name>
	  <given>G&aacute;bor</given>
	  <common>K&ouml;vesd&aacute;n</common>
	</name>
	<email>gabor@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://p4db.FreeBSD.org/depotTreeBrowser.cgi?FSPC=//depot/projects/soc2008/gabor_textproc/grep">
	  Sources in Perforce</url>
    </links>

    <body>
      <p>A portbuild test showed that grep is basically ready to enter
	HEAD, but there were a few failures that seem to be
	related.  These have to be investigated and fixed before
	committing grep to 9-CURRENT.</p>
    </body>

    <help>
      <task>Investigate and fix some minor issues.</task>
    </help>
  </project>

  <project cat='soc'>
    <title>Collective Resource Limits (aka. Jobs)</title>

    <contact>
      <person>
	<name>
	  <given>G&aacute;bor</given>
	  <common>K&ouml;vesd&aacute;n</common>
	</name>
	<email>gabor@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/G%C3%A1borSoC2010">Project page
	  on the wiki</url>

      <url href="http://p4db.FreeBSD.org/depotTreeBrowser.cgi?FSPC=//depot/projects/soc2010/gabor_jobs/irix_jobs">
	  Sources in Perforce</url>
    </links>

    <body>
      <p>The SGI IRIX operating system has a concept, called job, which
	is used to group processes together and then apply resource limits
	on them.  The purpose of this project is to implement this facility
	on &os;.</p>

      <p>I spent most of the time familiarizing myself with how
	things are done inside the kernel, how syscalls work, etc.  So far,
	I have the basic understanding needed and I added the most
	important syscalls to group processes together into jobs and
	manipulate collective resource limits on them.</p>

      <p>There is a bug, which I am tracking down at the moment, after
	this I can start to implement actual resource limit enforcement.
	For some of the limit types, it will be relatively easy but some
	others will take more effort and studies.</p>
    </body>

    <help>
      <task>Fix the showstopper bug, which prevent me working on actual
	limit enforcement.</task>

      <task>Implement limit enforcements for all of the limits supported
	by IRIX.</task>

      <task>Add support for userland facilities and make utilities
	jobs-aware, like showing jobs in ps(1), etc.</task>
    </help>
  </project>

  <project cat='docs'>
    <title>The &os; Spanish Documentation Project</title>

    <contact>
      <person>
	<name>
	  <given>G&aacute;bor</given>
	  <common>K&ouml;vesd&aacute;n</common>
	</name>
	<email>gabor@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Vicente</given>
	  <common>Carrasco Vay&aacute;</common>
	</name>
	<email>carvay@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/doc/es/articles/fdp-es/">Primer
	  for translators</url>
    </links>

    <body>
      <p>We need manpower.  Existing documentation set has not been
	updated for quite some time because of lack of volunteers.  Current
	members are busy with other projects and real life at the moment
	and we have not received anything from outside contributors.  It is
	a shame because there are lots of users in Spain and Latin-America,
	as well.  Besides, the world's first Free Software Street has been
	recently inaugurated in Spain.  This obviously means that there is
	interest in free software but unfortunately, this translation
	project is not going very well nowadays.</p>
    </body>

    <help>
      <task>Review and update existing translations.</task>
    </help>
  </project>

  <project cat='kern'>
    <title>Kernel Event Timers Infrastructure</title>

    <contact>
      <person>
	<name>
	  <given>Alexander</given>
	  <common>Motin</common>
	</name>
	<email>mav@FreeBSD.org</email>
      </person>
    </contact>

    <body>
      <p>Modern x86 systems include four different types of event timers:
	i8254, RTC, LAPIC, and HPET.  First three are already supported by
	&os;.  Depending on hardware and loader tunables, periodic
	interrupts from them are used to trigger all time-based events in
	kernel.  That code has a long history, that made it tangled and
	at the same time limited and hard-coded.</p>

      <p>New kernel event timers infrastructure was started to allow
	different event timer hardware to be operated in uniform way and to
	allow more features to be supported.  Work consists of three main
	parts: writing machine-independent timer driver API and management
	code, updating existing drivers and improving HPET driver to
	support event timers.</p>

      <p>The new driver API provides unified support for both per-CPU
	(independent for every CPU core) and global timers in periodic and
	one-shot modes.  Management code at this moment uses only periodic
	mode, while one-shot mode use is planned by later tickless kernel
	work.</p>

      <p>Different kinds of timers have different capabilities and could
	be present in hardware in different combinations.  In every
	situation the infrastructure automatically chooses two best event
	timers to supply system with hardclock(), statclock(), and
	profclock() events.  If some timer is not functioning &mdash; it will be
	replaced.  If there is no second timer &mdash; it will be emulated.
	The administrator may affect that choice using loader tunables during
	boot and sysctl variables in run-time (kern.eventtimer.*, and so on).</p>

      <p>Most of the code was recently committed to HEAD. Now it is used
	by i386 and amd64 architectures.</p>
    </body>

    <help>
      <task>Troubleshoot possible hardware and software issues.</task>

      <task>Port other architectures to the new infrastructure.</task>

      <task>Implement tickless kernel, utilizing new features, such as
	per-CPU and one-shot timers.</task>
    </help>
  </project>

  <project cat='docs'>
    <title>The &os; Hungarian Documentation Project</title>

    <contact>
      <person>
	<name>
	  <given>G&aacute;bor</given>
	  <common>K&ouml;vesd&aacute;n</common>
	</name>
	<email>gabor@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>G&aacute;bor</given>
	  <common>P&aacute;li</common>
	</name>

	<email>pgj@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/hu/">Hungarian &os; web
	  pages</url>

      <url href="http://www.FreeBSD.org/doc/hu/">Hungarian &os;
	  documentation</url>

      <url href="http://wiki.FreeBSD.org/HungarianDocumentationProject">
	  The &os; Hungarian Documentation Project's Wiki Page</url>

      <url href="http://p4web.FreeBSD.org/@md=d&amp;cd=//depot/projects/docproj_hu/&amp;c=aXw@//depot/projects/docproj_hu/?ac=83">
	  Perforce Deport for the &os; Hungarian Documentation Project</url>
    </links>

    <body>
      <p>Thanks to Katalin Konkoly, the first few chapters of the &os;
	Handbook translation have been reviewed, therefore many typos and
	mistranslations were spotted and fixed.  Apart from this, we are
	still keeping the existing documentation and web page translations
	up to date, currently without plans on further work.  If you are
	interested in helping us, or you have any comments, or requests
	regarding the translations, do not hesitate to contact the project
	via the email addresses mentioned in the entry.</p>
    </body>

    <help>
      <task>Review translations and send feedback.</task>

      <task>Translate release notes.</task>

      <task>Add more article translations.</task>
    </help>
  </project>

  <project cat='ports'>
    <title>&os; Haskell</title>

    <contact>
      <person>
	<name>
	  <given>G&aacute;bor</given>
	  <common>P&aacute;li</common>
	</name>
	<email>pgj@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Giuseppe</given>
	  <common>Pilichi</common>
	</name>
	<email>jacula@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Ashish</given>
	  <common>Shukla</common>
	</name>
	<email>ashish@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/Haskell">Wiki Page of the
	  Project</url>

      <url href="http://www.FreeBSD.org/ports/haskell.html">&os; Haskell
	  Ports</url>

      <url href="http://www.haskell.org/mailman/listinfo/freebsd-haskell">
	  The freebsd-haskell Mailing List</url>
    </links>

    <body>
      <p>Our efforts on porting the generalized, general-purpose purely
	functional programming language, <a
	  href="http://www.haskell.org/">Haskell</a> has rallied, since
	two new committers, Giuseppe Pilichi and Ashish
	Shukla joined recently, forming the &os; Haskell Team.
	Over the last months, &os;/i386 and &os;/amd64 have become Tier-1
	platforms, featuring officially supported vanilla binary
	distributions for the <a
	  href="http://www.haskell.org/ghc/">Glasgow Haskell Compiler</a>
	starting from version 6.12.1.  We introduced a unified ports
	infrastructure for Haskell Cabal ports, which also makes possible
	the <a
	  href="http://code.haskell.org/~pgj/projects/hsporter">direct
	  translation</a> of Cabal package descriptions to &os; ports.
	The number of Haskell package ports increases steadily.</p>
    </body>

    <help>
      <task>Improve support for Haskell Cabal packages and their
	translation.</task>

      <task>Create a port for Haskell Platform.</task>

      <task>Add more Haskell package ports.</task>

      <task>Test and send feedback.</task>
    </help>
  </project>

  <project cat='net'>
    <title>libnetstat(3)</title>

    <contact>
      <person>
	<name>
	  <given>G&aacute;bor</given>
	  <common>P&aacute;li</common>
	</name>
	<email>pgj@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Aman</given>
	  <common>Jassal</common>
	</name>
	<email>aman@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/LibNetstat">Wiki Page</url>

      <url href="http://people.FreeBSD.org/~pgj/libnetstat/">
	  Patches</url>

      <url href="http://p4web.freebsd.org/@md=d&amp;cd=//depot/projects/soc2009/&amp;c=mGl@//depot/projects/soc2009/pgj_libstat/?ac=83">
	  Perforce Depot (SoC 2009)</url>
    </links>

    <body>
      <p>This project is about creating a wrapper library to support
	monitoring and management of networking with avoiding direct use of
	the &os; kvm(3) and sysctl(3) interfaces.  This approach would allow
	the kernel implementation to change and monitoring applications to
	be extended without breaking applications and requiring them to be
	recompiled.  We decided to merge the sources from the last year's
	Summer of Code project back to the &os; src/ repository piece by
	piece, and we have defined several phases of integration.</p>

      <ul>
	<li>Standardize the in-kernel networking statistics
	  structures.</li>

	<li>Build a sysctl(3) interface, and add export routines.</li>

	<li>Add a library, libnetstat(3) to work with the exported
	  information, and to provide further functions in order to support
	  extracting information via kvm(3).  This library implements
	  abstractions over the gathered data.</li>

	<li>Adapt sources of the existing applications, i.e. netstat(1)
	  and bsnmpd(1) to use the abstractions offered by the library,
	  resulting in a cleaner and simpler code.</li>

	<li>Add new applications on the top of the library, e.g.
	  nettop(1).</li>
      </ul>

      <p>The first phase has been already posted for review.  Note that we
	are looking for a sponsor with an src commit bit and enough time to
	represent the effort towards the Project.</p>
    </body>

    <help>
      <task>Review the sources.</task>

      <task>Pick a task from the list, and send patches.</task>

      <task>Comment the patches, help them to improve.</task>
    </help>
  </project>

  <project cat='kern'>
    <title>ZFS</title>

    <contact>
      <person>
	<name>
	  <given>Pawel Jakub</given>
	  <common>Dawidek</common>
	</name>
	<email>pjd@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Martin</given>
	  <common>Matuska</common>
	</name>
	<email>mm@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Xin</given>
	  <common>Li</common>
	</name>
	<email>delphij@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/ZFS">&os; ZFS Wiki</url>

      <url href="http://perforce.FreeBSD.org/depotTreeBrowser.cgi?FSPC=//depot/user/pjd/zfs">
	  Latest &os; ZFS development tree</url>
    </links>

    <body>
      <p>The ZFS file system has been updated to version 15 on HEAD and
	it will be MFC'ed to 8-STABLE around September 13th, 2010.  Work
	is in progress on porting the recent ZFS version 26 with
	deduplication functionality.</p>
    </body>

    <help>
      <task>Fix bugs, unresolved issues and to-dos in Perforce.</task>
    </help>
  </project>

  <project cat='arch'>
    <title>Flattened Device Tree for Embedded &os;</title>

    <contact>
      <person>
	<name>
	  <given>Rafal</given>
	  <common>Jaworowski</common>
	</name>
	<email>raj@semihalf.com</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/FlattenedDeviceTree">Project
	  wiki pages</url>
    </links>

    <body>
      <p>The purpose of this project was to provide &os; with support for
	the Flattened Device Tree (FDT) technology.  A mechanism for
	describing computer hardware resources, which cannot be probed or
	self enumerated, in a uniform and portable way.  The primary
	consumers of this technology are embedded &os; platforms (ARM, MIPS,
	PowerPC), where a lot of designs are based on similar chips, but
	have different assignment of pins, memory layout, addresses ranges,
	interrupts routing and other resources.</p>

      <p>Current state highlights:</p>

      <ul>
	<li>All code and documentation developed during the course of
	  this project was merged with HEAD, which covers FDT support for
	  the following platforms and systems:</li>

	<li>Marvell ARM</li>

	<ul>
	  <li>DB-88F5182</li>

	  <li>DB-88F5281</li>

	  <li>DB-88F6281</li>

	  <li>DB-78100</li>

	  <li>SheevaPlug</li>
	</ul>

	<li>Freescale PowerPC</li>

	<ul>
	  <li>MPC8555CDS</li>

	  <li>MPC8572DS</li>
	</ul>

	<li>The FDT infrastructure (bus drivers, helper libraries, and
	  routines shared across architectures and platforms) allows for
	  easier porting to new platforms or variations.  The initially
	  supported systems offer a working example of how to migrate
	  towards FDT approach.</li>
      </ul>

      <p>Work on this project was sponsored by the &os; Foundation.</p>
    </body>

    <help>
      <task>Improve how-to and guidelines for new adopters (how to convert
	to FDT and so on).</task>

      <task>Migrate more existing embedded &os; platforms (ARM, MIPS) to
	FDT approach.</task>
    </help>
  </project>

  <project cat="docs">
    <title>The &os; Japanese Documentation Project</title>

    <contact>
      <person>
	<name>
	  <given>Hiroki</given>
	  <common>Sato</common>
	</name>
	<email>hrs@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Ryusuke</given>
	  <common>Suzuki</common>
	</name>
	<email>ryusuke@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/ja/">Japanese &os; Web
	  Pages</url>

      <url href="http://www.jp.FreeBSD.org/doc-jp/">The &os; Japanese
	  Documentation Project's Web Page</url>
    </links>

    <body>
      <p>This project focuses on updating the www/ja and doc/ja_JP.eucJP/
	trees.  Since last year www/ja tree has been mostly synchronized
	with the English counterpart and doc/ja_JP.eucJP has also been
	updated steadily.  We are now working on &os; Handbook and Porter's
	Handbook.</p>
    </body>

    <help>
      <task>More Japanese translation of &os; Handbook and contents of
	www.FreeBSD.org.</task>

      <task>Pre-/post-commit review of the translation.</task>
    </help>
  </project>

  <project cat='soc'>
    <title>Google Summer of Code 2010</title>

    <contact>
      <person>
	<name>
	  <given>Brooks</given>
	  <common>Davis</common>
	</name>
	<email>brooks@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Tim</given>
	  <common>Kientzle</common>
	</name>
	<email>kientzle@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Robert</given>
	  <common>Watson</common>
	</name>
	<email>rwatson@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/SummerOfCode2010Projects">Summer
	  of Code 2010 Projects</url>
    </links>

    <body>
      <p>We are once again participating in the Google Summer of Code.
	This is our 6th year of participation and we hope to once again see
	great results from our 18 students.  Coding officially began May
	24th, and we are in the middle of the mid-term evaluation period.
	You can see and comment on weekly status reports on the <a 
	href="http://lists.freebsd.org/mailman/listinfo/soc-status">mailing
	list</a> or on the <a
	href="http://wiki.freebsd.org/SummerOfCode2010">wiki</a>.</p>
    </body>
  </project>

  <project cat='kern'>
    <title>Jail-Based Virtualization</title>

    <contact>
      <person>
	<name>
	  <given>Bjoern A.</given>
	  <common>Zeeb</common>
	</name>
	<email>bz@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSDFoundation.org/project%20announcements.shtml#Bjoern">
	  &os; Foundation Announcement</url>

      <url href="http://p4web.FreeBSD.org/@md=d&amp;cd=//&amp;c=Z8Q@//depot/user/bz/vimage/src/?ac=83">
	  Perforce Workspace</url>
    </links>

    <body>
      <p>The project started with some cleanup on the network stack after
	all the import work and adjustments for virtualization to minimize
	changes to earlier branches.  These made it into the tree already
	and to 8-STABLE, and it will be included in the upcoming 8.1
	release.</p>

      <p>The first major task was to generalize the virtualization
	framework, so that virtualization of further subsystems would be
	easier and could be achieved with less duplication.</p>

      <p>In addition some documentation on the virtual network stack
	programming was written to help developers virtualizing their code.
	The interactive kernel debugger support was improved and libjail
	along with jls and netstat can work on core dumps now and query
	individual jails and attached virtual network stacks.</p>

      <p>The second major task was network stack teardown, a concept
	introduced with the network stack virtualization.  The primary goal
	was to prototype a shutdown of the (virtual) network stacks from
	top to bottom, which means letting interfaces go last rather than
	first.  Work in this area is still in progress and will have to
	continue to allow long term stability and a leak and panic free
	shutdown.</p>

      <p>The work on this project had been sponsored by the &os;
	Foundation and CK Software GmbH.  Special thanks also to John
	Baldwin and Philip Paeps for helping with review and
	suggestions.</p>
    </body>

    <help>
      <task>Merge stabilised change sets.</task>

      <task>Work further down the network stack freeing all resources for
	a stable, safe teardown.</task>
    </help>
  </project>

  <project cat='ports'>
    <title>Ports Collection</title>

    <contact>
      <person>
	<name>
	  <given>Thomas</given>
	  <common>Abthorpe</common>
	</name>
	<email>portmgr-secretary@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Port</given>
	  <common>Management Team</common>
	</name>
	<email>portmgr@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/ports/" />

      <url href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributing-ports/" />

      <url href="http://portsmon.FreeBSD.org/index.html" />

      <url href="http://www.FreeBSD.org/portmgr/index.html" />

      <url href="http://blogs.FreeBSDish.org/portmgr/" />

      <url href="http://www.twitter.com/freebsd_portmgr/" />

      <url href="http://www.facebook.com/group.php?gid=135441496471197" />

      <url href="http://tinderbox.marcuscom.com/" />
    </links>

    <body>
      <p>A significant part of quarter two was spent coordinating efforts
	for inclusion of Xorg&nbsp;7.5, KDE&nbsp;4, GNOME&nbsp;2, plus preparation of ports
	for the 8.1 release process.  Due to the success of enforcing
	Feature Safe ports commits during 7.3-RELEASE, it was continued
	for the recent src/ freeze.</p>

      <p>The port count is approaching 22,000 ports.  The open PR count
	currently floats at about 1200 entries.</p>

      <p>Since the last report, we added four new committers, and had two
	old committers rejoin us.</p>

      <p>The Ports Management Team is very grateful to the &os;
	Foundation for sponsoring two new head nodes for the ports building
	cluster, pointyhat.  Each of the new head nodes has a larger
	capacity, both with regard to performance but also in amount of
	space available for the staging areas, allowing for faster, and
	thus more, build cycles.  Additionally, having two head nodes will
	allow us to dedicate one of them for building production-ready
	binary packages, adding predicability for our users to when what
	types of packages are available for installation, and dedicate the
	other for regression testing of large port updates, ports
	infrastructure improvements, the cluster scheduling code, and &os;
	itself.  Over the last few weeks, Mark Linimon has been working hard
	to get the first of the two new nodes online and has already
	completed its first package build.  This has involved a substantial
	rework of our custom codebase.</p>

      <p>The Ports Management team have been running -exp runs on an
	ongoing basis, verifying how base system updates may affect the
	ports tree, as well as providing QA runs for major ports
	updates.  Of note, -exp runs were done for:</p>

      <ul>
	<li>ale: Update of math/gmp.</li>
	<li>delphij: Changes to Mk/bsd.ldap.mk.</li>
	<li>gahr: Inclusion of USE_GL=glew.</li>
	<li>pgollucci: Changes to Mk/bsd.*apache.mk plus updates to devel/apr
	and www/apache*.</li>
	<li>Testing of x11/xorg, x11/gnome2, x11/kde4, and
	lang/mono</li>
	<li>A test run make fetch run.</li>
	<li>A test run for devel/gettext.</li>
	<li>mm: Inclusion of USE_XZ.</li>
	<li>ale: Request to switch default mysql from 5.0-EOL to
	  5.1-GA.</li>
      </ul>

      <p>alepulver's Licensing Framework Summer of Code project has made
	it into the tree and the Port Management Team is currently
	assessing the fallout and it will come up with guidelines and
	documentation in due time.</p>
    </body>

    <help>
      <task>Looking for help fixing <a
	  href="http://wiki.FreeBSD.org/PortsBrokenOnCurrent">ports
	  broken on 9-CURRENT</a>.</task>

      <task>Looking for help with <a
	  href="http://wiki.FreeBSD.org/PortsBrokenOnTier2Architectures">
	  Tier-2 architectures</a>.</task>

      <task>Most ports PRs are assigned, we now need to focus on testing,
	committing, and closing.</task>
    </help>
  </project>

  <project cat='arch'>
    <title>&os;/powerpc64</title>

    <contact>
      <person>
	<name>
	  <given>Nathan</given>
	  <common>Whitehorn</common>
	</name>
	<email>nwhitehorn@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://people.FreeBSD.org/~nwhitehorn/FreeBSD-9.0-20100715-SNAP-powerpc64/">
	  Install CDs for powerpc64</url>
    </links>

    <body>
      <p>On July 13, &os;/powerpc64 was integrated into HEAD.  This
	provides support for fully 64-bit operation on 64-bit PowerPC
	machines conforming to the Book-S specification, including the
	PowerPC 970, Cell, and POWER4-7.  Hardware support is currently
	limited to Apple machines, although this should expand in the near
	future.</p>

      <p>Currently supported hardware:</p>

      <ul>
	<li>Apple Xserve G5</li>

	<li>Apple Power Macintosh G5</li>

	<li>Apple iMac G5</li>
      </ul>
    </body>
  </project>

  <project cat='arch'>
    <title>&os; on the Sony Playstation 3</title>

    <contact>
      <person>
	<name>
	  <given>Nathan</given>
	  <common>Whitehorn</common>
	</name>
	<email>nwhitehorn@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://svn.FreeBSD.org/viewvc/base/user/nwhitehorn/ps3/">
	  Playstation 3 SVN repository</url>
    </links>

    <body>
      <p>Work has begun to port &os;/powerpc64 to the IBM Cell-based Sony
	Playstation 3, using the OtherOS feature present on some models of
	the console.  As of July 14, the &os; boot loader is ported, and it
	is possible to netboot a kernel, which has support for the
	framebuffer, MMU, and device discovery.  Once work on drivers for
	the network interface and interrupt controller is complete, it will
	be possible to boot the console multi-user.</p>
    </body>
  </project>

  <project cat='proj'>
    <title>OpenAFS Port</title>

    <contact>
      <person>
	<name>
	  <given>Benjamin</given>
	  <common>Kaduk</common>
	</name>
	<email>kaduk@mit.edu</email>
      </person>

      <person>
	<name>
	  <given>Derrick</given>
	  <common>Brashear</common>
	</name>
	<email>shadow@gmail.com</email>
      </person>
    </contact>

    <links>
      <url href="http://openafs.org">OpenAFS home page</url>

      <url href="http://web.mit.edu/freebsd/openafs/openafs.shar">&os;
	  port for the OpenAFS 1.5.75 release</url>
    </links>

    <body>
      <p>AFS is a distributed network filesystem that originated from the
	Andrew Project at Carnegie-Mellon University; the OpenAFS client
	implementation has not been particularly useful on &os; since the
	4.X releases.  Recent work on the OpenAFS codebase has updated
	it to be consistent with current versions of &os;, and the client,
	though still considered experimental, is now relatively stable for
	light (single-threaded) use on 9-CURRENT.  The auxiliary utilities
	for managing and examining the filesystem are functional, and
	reading and writing files works sufficiently well to copy /usr/src
	into and out of AFS.  Compiling and running executables in AFS is
	unsuccessful, though, as mmap() is not always reliable.</p>

      <p>There are several known outstanding issues that are being
	worked on, but detailed bug reports are welcome at <a
	  href="mailto:port-freebsd@openafs.org">port-freebsd@openafs.org</a>.</p>
    </body>

    <help>
      <task>Fix the {get,put}pages vnode operations for more reliable
	mmap() operation.</task>

      <task>Update VFS locking to allow the use of disk-based client
	caches as well as memory-based caches.</task>

      <task>Track down races and deadlocks that appear under
	load.</task>

      <task>Integrate with the bsd.kmod.mk kernel-module build
	infrastructure.</task>
    </help>
  </project>

  <project cat='soc'>
    <title>Package Management Library &mdash; libpkg</title>

    <contact>
      <person>
	<name>
	  <given>David</given>
	  <common>Forsythe</common>
	</name>
	<email>dforsyth@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/SOC2010DavidForsythe">Wiki
	  page</url>

      <url href="http://code.google.com/p/libpkg">Main project page</url>
    </links>

    <body>
      <p>The libpkg library will allow for fairly fine grained control
	over package management.</p>

      <p>Presently libpkg has complete read functionality.  Info and
	delete tools that have most of the current package tool features
	have already been implemented, and once they are completed they can
	be considered replacements for their counterparts.</p>

      <p>Once the write and logging aspects of the library are more
	mature, add and create tools can be created quickly.  A new set of
	more maintainable package tools that leverage libpkg will hopefully
	be available soon after.</p>
    </body>
  </project>

  <project cat='proj'>
    <title>General-Purpose DMA Framework</title>

    <contact>
      <person>
	<name>
	  <given>Jakub</given>
	  <common>Klama</common>
	</name>
	<email>jceel@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/SOC2010JakubKlama">Project
	  description on &os; wiki</url>

      <url href="http://p4web.FreeBSD.org/@md=d&amp;cd=//&amp;c=eCv@//depot/projects/soc2010/jceel_dma/?ac=83">
	  Project branch on Perforce</url>
    </links>

    <body>
      <p>This project purpose is adding support for general purpose DMA
	engines found in most embedded devices.  GPDMA framework provides a
	unified KOBJ interface to DMA engine drivers and unified
	programming interface to use direct memory transfers in kernel and
	userspace applications.</p>

      <p>This project is a part of Google Summer of Code 2010 and it is a
	work in progress.  Current status can be observed on the wiki
	page.</p>
    </body>

    <help>
      <task>Add support for more DMA engines.</task>

      <task>Complete, clean up, and merge with HEAD.</task>
    </help>
  </project>

  <project cat='soc'>
    <title>Making Ports Work with Clang</title>

    <contact>
      <person>
	<name>
	  <given>Andrius</given>
	  <common>Morkunas</common>
	</name>
	<email>hinokind@gmail.com</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/SOC2010AndriusMorkunas" />

      <url href="http://wiki.FreeBSD.org/PortsAndClang" />

      <url href="http://rainbow-runner.nl/~andrius/soc/">GSoC2010
	  patches</url>

      <url href="http://rainbow-runner.nl/clang/patches/">All patches for
	  ports</url>
    </links>

    <body>
      <p>First part of the project is mostly complete.  I added support
	for new PORTS_CC variable which should be used in make.conf instead
	of CC to change ports compiler.  This allows user to change ports
	compiler easily, while still respecting USE_GCC.</p>

      <p>Some patches were written to get ports to work with Clang, and
	a lot of old patches written prior to the Google Summer of Code
	project were updated.  There are still a lot of broken ports, and
	some that cannot be built because of Clang/LLVM bugs, but at
	this point, Clang can build most ports.</p>
    </body>

    <help>
      <task>Fix broken ports that do not work with Clang.</task>

      <task>Test patched ports with Clang, report Clang bugs.</task>
    </help>
  </project>

  <project cat="team">
    <title>The &os; Foundation Status Report</title>

    <contact>
      <person>
	<name>
	  <given>Deb</given>
	  <common>Goodkin</common>
	</name>
	<email>deb@FreeBSDFoundation.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSDFoundation.org" />
    </links>

    <body>
      <p>We were proud to be a sponsor for BSDCan in May.  We also
	committed to sponsoring MeetBSD 2010 Poland and California.  We
	provided 12 travel grants for BSDCan.</p>

      <p>The Foundation and Core Team held a summit on BSD-licensed
	toolchains at BSDCan 2010.</p>

      <p>We officially kicked off five new projects that we are funding.
	They are BSNMP Improvements by Shteryana Shopova, Userland DTrace
	by Rui Paulo, &os; jail-based virtualization by Bjoern Zeeb, DAHDI
	&os; driver port by Max Khon, and Resource Containers project by
	Edward Tomasz Napiera&#322;a.</p>

      <p>We continued our work on infrastructure projects to beef up
	hardware for package building, network testing, etc.  This includes
	purchasing equipment as well as managing equipment donations.</p>

      <p>We are half way through the year and we have raised around
	$48,000 towards our goal of $350,000.  Find out how to make a
	donation at <a
	  href="http://www.FreeBSDFoundation.org/donate/">
	  http://www.FreeBSDFoundation.org/donate/</a>.</p>

      <p>Our semi-annual newsletter will be published soon.  Check out our
	<a href="http://www.FreeBSDFoundation.org/">website</a> to find
	out more!</p>
    </body>
  </project>

  <project cat='proj'>
    <title>GEOM-Based Pseudo-RAID Implementation &mdash;
      geom_pseudoraid</title>

    <contact>
      <person>
	<name>
	  <given>Boris</given>
	  <common>Kochergin</common>
	</name>
	<email>spawk@acm.poly.edu</email>
      </person>
    </contact>

    <links>
      <url href="http://acm.poly.edu/~spawk/geom_pseudoraid-20100715.tbz">
	  Code snapshot</url>
    </links>

    <body>
      <p>The old ata(4) driver is believed to be going away sometime in
	the future, to be replaced with ATA_CAM 
	[<a href="http://lists.FreeBSD.org/pipermail/freebsd-geom/2010-April/004106.html">1</a>].
	However, ATA pseudo-RAID support in &os;, ataraid(4), is
	implemented as part of said ata(4) driver, which means that it,
	too, will be going away.  It was decided that pseudo-RAID support is
	desirable and that it should be reimplemented in GEOM
	[<a href="http://lists.FreeBSD.org/pipermail/freebsd-geom/2010-April/004150.html">2</a>]
	[<a href="http://www.FreeBSD.org/news/status/report-2010-01-2010-03.html#CAM-based-ATA-implementation">3</a>],
	which this project aims to do.</p>

      <p>Currently, RAID-1 arrays can be used on VIA Tech V-RAID and
	Adaptec HostRAID controllers in a limited capacity.  There is no
	support for writing metadata yet, so disks are not marked degraded,
	there is no rebuild support, etc.  These features are planned, along
	with support for more hardware and RAID-0 and SPAN arrays.</p>

      <p>A major setback for the current code is that it uses the
	device(9) family of functions to identify ATA pseudo-RAID
	controllers and constructs arrays based on that information.
	Unfortunately, ATA_CAM does not appear to add its devices to the
	device tree, so that tactic cannot be used with ATA_CAM.  While this
	is fine for development of the actual RAID parts of the code, the
	project will be somewhat useless in the absence of the old ata(4)
	driver.  There has been talk of exporting PCI information to GEOM
	[<a href="http://lists.FreeBSD.org/pipermail/freebsd-geom/2010-April/004167.html">4</a>]
	[<a href="http://lists.FreeBSD.org/pipermail/freebsd-geom/2010-April/004158.html">5</a>],
	but the work does not appear to have been completed yet.</p>
    </body>

    <help>
      <task>Obtain documentation for or reverse-engineer metadata formats
	for which there is no write support in the ataraid(4) driver (for
	example, Adaptec HostRAID).</task>

      <task>Add CAM support for exporting PCI information to GEOM.</task>
    </help>
  </project>

  <project cat='arch'>
    <title>&os;/avr32</title>

    <contact>
      <person>
	<name>
	  <given>Oleksandr</given>
	  <common>Tymoshenko</common>
	</name>
	<email>gonzo@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/FreeBSD/avr32" />
    </links>

    <body>
      <p>The &os;/avr32 project was started by Arnar Mar Sing, and actively
	developed by him and Ulf Lilleengen.  It successfully reached
	single-user stage but since then has not progressed much.  At the
	moment I am trying to get it back into shape.  So far some problems
	with toolchain on i386 host have been fixed, buildkernel succeeds,
	buildworld succeeds with some exceptions.  Next step would be fixing
	pmap and bringing port back to single-user stage.</p>
    </body>
  </project>

  <project cat='proj'>
    <title>GPIO Framework</title>

    <contact>
      <person>
	<name>
	  <given>Luiz Otavio O</given>
	  <common>Souza</common>
	</name>
	<email>loos.br@gmail.com</email>
      </person>

      <person>
	<name>
	  <given>Oleksandr</given>
	  <common>Tymoshenko</common>
	</name>
	<email>gonzo@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/GPIO" />
    </links>

    <body>
      <p>Implementation of General Purpose Input/Output interface for
	&os;.  Current GPIO bus implementation allows user to control pins
	from userland and it could be expanded to support various type of
	peripheral devices.  So far there are two drivers:</p>

      <ul>
	<li><b>gpioled</b> provides simple led(4) functionality.</li>

	<li><b>gpioiic</b> implements I2C over GPIO.</li>
      </ul>

      <p>Framework is used in Alexandr Rybalko's port of &os; to D-Link
	DIR-320 and in Luis Otavio O Souza's work of bringing &os; to
	RouterBoard.</p>
    </body>
  </project>

  <project cat='ports'>
    <title>Chromium Web Browser</title>

    <contact>
      <person>
	<name>
	  <given>Ruben</given>
	</name>
	<email>chromium@hybridsource.org</email>
      </person>
    </contact>

    <links>
      <url href="http://chromium.hybridsource.org">Main chromium
	  site</url>

      <url href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=146302">PR
	  for chromium port</url>
    </links>

    <body>
      <p>Chromium is a Webkit-based web browser that is largely
	BSD-licensed.  It works very well on &os; and supports new features
	like HTML 5 video.  This effort uses a new
	hybrid-source model, where the &os; patches are largely kept closed
	for a limited time.  I submitted Chromium to ports a couple of
	months ago and recently updated the submission to the stable 5.0.375
	branch.  The port is ready to be committed pending final legal
	approval by the &os; Foundation.  Further work remains to port
	Chromium to &os; completely, such as porting the task manager fully
	and making sure extensions work properly.</p>
    </body>
  </project>

  <project cat='soc'>
    <title>ExtFS Status Report</title>

    <contact>
      <person>
	<name>
	  <given>Zheng</given>
	  <common>Liu</common>
	</name>
	<email>gnehzuil@gmail.com</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/SOC2010ZhengLiu" />
    </links>

    <body>
      <p>This project has two goals: pre-allocation algorithm and ext4
	read-only mode.</p>

      <p>The aim of pre-allocation algorithm is to implement a reservation
	window mechanism.  Now this mechanism has been introduced.  The
	performance comparison can be found on the <a
	  href="http://wiki.FreeBSD.org/SOC2010ZhengLiu">wiki</a>.</p>

      <p>The aim of ext4 read-only mode is to make it possible to read ext4 file
	system in read-only mode when the hard disk is formatted with default
	features.  Currently it only supports a few features, such as extents,
	huge_file.  Others features will be added, such as dir_index,
	uninit_bg, dir_nlink, flex_bg and extra_isize.  My work resides in
	extfs and ext4fs branch of Perforce.</p>
    </body>
  </project>

  <project cat='proj'>
    <title>Distributed Audit</title>

    <contact>
      <person>
	<name>
	  <given>Sergio</given>
	  <common>Ligregni</common>
	</name>
	<email>ligregni@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://p4web.freebsd.org/@md=d&amp;cd=//&amp;c=wHa@//depot/projects/soc2010/disaudit/?ac=83">
	  Perforce repository</url>

      <url href="http://wiki.FreeBSD.org/SOC2010SergioLigregni">Project
	  Wiki</url>
    </links>

    <body>
      <p>90% of the functionality is working, the daemons sync two
	systems in a master-slave paradigm.</p>
    </body>

    <help>
      <task>Standardize the code to meet &os; requirements.</task>

      <task>Implement SSL in network communication.</task>

      <task>Perform security improvements and bug fixing, strlxxx() functions,
	memcpy() instead of strcpy() when using non-char variables.</task>

      <task>Integrate with the current Audit subsystem.</task>
    </help>
  </project>

  <project cat='soc'>
    <title>File System Changes Notification</title>

    <contact>
      <person>
	<name>
	  <given>Ilya</given>
	  <common>Putsikau</common>
	</name>
	<email>iputsikau@gmail.com</email>
      </person>
    </contact>

    <body>
      <p>The aim of the project is to implement an inotify-compatible file system
	change notification mechanism for &os; and later, and add inotify
	support to linuxulator.  The result, fsnotify is already functional
	but not yet compatible with inotify in some details.</p>
    </body>

    <help>
      <task>Add access permissions checks.</task>

      <task>Port inotify test cases.</task>

      <task>Fix compatibility issues.</task>

      <task>Add linuxulator support.</task>
    </help>
  </project>

  <project cat='proj'>
    <title>Resource Containers</title>

    <contact>
      <person>
	<name>
	  <given>Edward Tomasz</given>
	  <common>Napiera&#322;a</common>
	</name>
	<email>trasz@FreeBSD.org</email>
      </person>
    </contact>

    <body>
      <p>As of now, &os; only offers very rudimentary resource controls &mdash;
	resource limits for many resources (e.g. SysV IPC) are missing, and
	there is no way to set resource limits for jails.  As a result,
	users who want to run many different workloads on a single physical
	machine often have to replace jails with several &os; instances
	running in virtual machines.</p>

      <p>The goal of this project is to implement resource containers
	and a simple per-jail resource limits mechanism.  Resource
	containers are also a prerequisite for other resource management
	mechanisms, such as Hierarchical Resource Limits, for
	"Collective Limits on Set of Processes (aka. Jobs)" Google
	Summer of Code 2010 project, for implementing mechanism similar
	to Linux cgroups, and might be also used to e.g. provide
	precise resource usage accounting for administrative or billing
	purposes.</p>

      <p>This project is being sponsored by The &os; Foundation.</p>
    </body>
  </project>

  <project cat='soc'>
    <title>Namecache Improvements &mdash; dircache</title>

    <contact>
      <person>
	<name>
	  <given>Gleb</given>
	  <common>Kurtsou</common>
	</name>
	<email>gk@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/SOC2010GlebKurtsov" />
    </links>

    <body>
      <p>I have been reimplementing VFS namecache to make it granularly
	locked and supporting reliable full-path lookup without calling
	underlying file system routines.  I have successfully implemented
	directory cache that works in idealized environment with tmpfs.  I am
	currently working on adding support for entries without associated
	vnodes and for "weak" entries and incomplete cached path.</p>
    </body>
  </project>

  <project cat='bin'>
    <title>&os; Services Control &mdash; fsc</title>

    <contact>
      <person>
	<name>
	  <given>Tom</given>
	  <common>Rhodes</common>
	</name>
	<email>trhodes@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://people.FreeBSD.org/~trhodes/fsc/" />
    </links>

    <body>
      <p>&os; Services Control is a mix of binaries which integrate into
	the rc.d system and provide for service (daemon) monitoring.  It
	knows about signals, pidfiles, and uses very few resources.</p>

      <p>The fsc daemon (fscd) runs in the background once the system has
	started.  Services are then added to this daemon via the fscadm
	control utility, and from there they will be monitored.  When they
	die, depending on the reason, they will be restarted.  Certain
	signals may be ignored (list not decided) and fscd will remove that
	service from monitoring.  Every action is logged to the system
	logging daemon.  Additionally, the fscadm utility may be used to
	inquire about what services are monitored, their pidfile location,
	and current process ID.</p>

      <p>FSC provides several advantages over the third-party
	daemontools package.  For example, fscd uses push notifications
	instead of polling; fscd is an internal, &os;-maintained software
	package accessible to all developers, where daemontools would have
	to be a port and require us to maintain patches; fscd could be
	easily integrated with the current rc.d infrastructure.</p>

      <p>Partially based on the ideas of daemontools and Solaris Service
	Service Mangement Facility (SMF), this could be an extremely
	useful tool for &os; systems.</p>
    </body>

    <help>
      <task>Testing.  Get feedback on how it works in various
	environments.</task>

      <task>Code review.</task>

      <task>Other ideas on the rc.d integration.</task>

      <task>Update the manual pages.</task>
    </help>
  </project>

  <project cat='net'>
    <title>Enhancing the &os; TCP Implementation</title>

    <contact>
      <person>
	<name>
	  <given>Lawrence</given>
	  <common>Stewart</common>
	</name>
	<email>lstewart@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://caia.swin.edu.au/freebsd/etcp09/" />

      <url href="http://caia.swin.edu.au/urp/newtcp/" />

      <url href="http://www.FreeBSDfoundation.org/projects.shtml" />

      <url href="http://people.FreeBSD.org/~lstewart/patches/tcp_ffcaia2008/" />
    </links>

    <body>
      <p>SIFTR was recently imported into HEAD and will be backported to
	8-STABLE in time to be included in 8.2-RELEASE.</p>

      <p>TCP reassembly queue autotuning will be ready for public testing
	within the next week and will be committed soon after.  It too will
	be backported to 8-STABLE after an appropriate burn in period.</p>
    </body>

    <help>
      <task>Try SIFTR out and let me know if you run into any
	problems.</task>

      <task>Solicit external testing for and commit the reassembly queue
	autotuning patch.</task>
    </help>
  </project>

  <project cat='soc'>
    <title>Packet-Capturing Stack &mdash; ringmap</title>

    <contact>
      <person>
	<name>
	  <given>Alexander</given>
	  <common>Fiveg</common>
	</name>
	<email>afiveg@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://code.google.com/p/ringmap/">Project-Page on
	  Google Code</url>

      <url href="http://ringmap.googlecode.com/files/ringmap_slides.pdf">
	  Slides</url>
    </links>

    <body>
      <p>The ringmap stack is a complete &os; packet-capturing
	mplementation specialized for very high-speed networks.  Similar
	to the "zero-copy BPF" implementation, the idea of ringmap is to
	eliminate packet copy operations by using shared memory buffers.
	However, unlike the "zero-copy BPF" model, ringmap eliminates
	ALL packet copies during capturing: the network adapter's DMA
	buffer is mapped directly into user-space.  The ringmap stack
	also adapts libpcap accordingly to provide userspace
	applications with access to the captured packets without any
	additional overhead.</p>

      <p>In the context of Google Summer of Code 2010:</p>

      <ul>
	<li>The ringmap software was ported to 9-CURRENT.</li>

	<li>Ringmap was redesigned to make it easier to port to other
	  adapters and to integrate it with other network drivers.</li>

	<li>Also ringmap was extended to be multi-threaded.</li>
      </ul>
    </body>

    <help>
      <task>Porting ringmap to 10GbE (integrating with ixgbe
	driver).</task>

      <task>Porting the entire ringmap code from 9-CURRENT to
	-STABLE.</task>

      <task>Evaluation tests.</task>

      <task>Documentation.</task>
    </help>
  </project>

  <project cat='arch'>
    <title>&os;/sparc64</title>

    <contact>
      <person>
	<name>
	  <given>Marius</given>
	  <common>Strobl</common>
	</name>
	<email>marius@FreeBSD.org</email>
      </person>
    </contact>

    <body>
      <p>Since the last status report some issues with cas(4) have been
	fixed, allowing it to work with Sun GigaSwift Ethernet 1.0 MMF
	cards (Cassini Kuheen, part no. 501-5524) as well as the on-board
	interfaces of Sun Fire B100s server blades (for the Sun Fire
	B1600 platform).</p>

      <p>Support for Fujitsu (Siemens) PRIMEPOWER 250 based on SPARC64
	V CPUs has been added.  PRIMEPOWER 450, 650, and 850 likely also
	work but have not been tested.  This also means that the building
	blocks for support of machines based on SPARC64 VI and VII CPUs
	like the Fujitsu/Sun SPARC Enterprise Mx000 series are now in
	place, but they need testing as well.</p>

      <p>The problems with Schizo version 7 bridges (actually the
	firmware of these machines) triggering panics during boot finally
	should be solved.</p>

      <p>The work on getting Sun Fire V1280 supported has been stalled
	due to access to such machines no longer being available.</p>

      <p>The above mentioned improvements are/will be available in &os;
	8.1-RELEASE and 7.4-RELEASE.</p>
    </body>

    <help>
      <task>Access to machines based on SPARC64 VI and VII CPUs, like
	the Fujitsu/Sun SPARC Enterprise Mx000 series would be
	appreciated.</task>

      <task>Someone adding support for 64-bit SPARC V9 to Clang/LLVM,
	and getting it on par with GCC would be appreciated.</task>
    </help>
  </project>

  <project cat='proj'>
    <title>New System Installer &mdash; pc-sysinstall</title>

    <contact>
      <person>
	<name>
	  <given>Kris</given>
	  <common>Moore</common>
	</name>
	<email>kris@pcbsd.org</email>
      </person>

      <person>
	<name>
	  <given>M. Warner</given>
	  <common>Losh</common>
	</name>
	<email>imp@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://lists.FreeBSD.org/pipermail/svn-src-all/2010-June/025660.html">
	  Initial commit message</url>
      <url href="http://www.BSDCan.org/2010/schedule/attachments/142_pc-sysinstall-kris-moore-2010.pdf">
	  BSDCan slides</url>
    </links>

    <body>
      <p>The new system installation backend, pc-sysinstall, was merged
	into HEAD recently and work is already underway to make it more
	functional and useful as a complete replacement to standard
	"sysinstall".  It is written 100% in shell, not requiring any
	additional tools from what is standard to &os;.  The backend already
	supports a number of exciting features such as:</p>

      <ul>
	<li>ZFS (Including support for raidz/mirror/multiple device pool
	  setups).</li>

	<li>Disk encryption via GELI(8).</li>

	<li>Auto labeling of file systems with glabel(8).</li>

	<li>Big disk support using GPT/EFI.</li>

	<li>Full Installation Logging, which is saved to disk for
	  post-install inspection.</li>
      </ul>

      <p>In addition to the features above, pc-sysinstall is unique, in
	that every install ends up being a scripted install.  Front-ends, be
	it GUI- or text-based, simply generate the appropriate system
	configuration file, and pc-sysinstall does the grunt work of the
	actual installation.  This is important for a couple of reasons.
	First, it makes the task of front-end development much easier by
	not needing to worry about a backend-driven program flow.  Second it
	means that any front-end can be used to generate the installation
	configuration file, which can then be copied or modified to perform
	automated installs.</p>

      <p>While pc-sysinstall is still relatively new, it is already in
	use as the default backend for PC-BSD&nbsp;8.0 and 8.1, and has been
	getting a very good reception and any bugs found are fixed quickly.
	A text-based front-end is already in the works which will allow
	installation media to be created without X11 support.</p>
    </body>
  </project>

  <project cat='proj'>
    <title>DAHDI/&os; Project</title>

    <contact>
      <person>
	<name>
	  <given>Max</given>
	  <common>Khon</common>
	</name>
	<email>fjoe@samodelkin.net</email>
      </person>
    </contact>

    <links>
      <url href="http://www.asterisk.org/dahdi/" />

      <url href="https://spreadsheets.google.com/pub?key=0Arw6eRL10yIwdGhLdGJWUHF4b3ExQzBsd3BGd2tublE&amp;hl=en&amp;single=true&amp;gid=0&amp;output=html">
	  Project Status</url>
    </links>

    <body>
      <p>The purpose of DAHDI/&os; project is to make it possible to use
	&os; as a base system for software PBX solutions.</p>

      <p>DAHDI (Digium/Asterisk Hardware Device Interface) is an
	open-source device driver framework and a set of hardware drivers for
	E1/T1, ISDN digital, and FXO/FXS analog cards
	[<a href="http://www.asterisk.org/dahdi/">1</a>].  Asterisk is one of the most
	popular open-source software PBX solutions
	[<a href="http://www.asterisk.org/">2</a>].</p>

      <p>The project includes porting DAHDI framework and hardware drivers for
	E1/T1, FXO/FXS analog, and ISDN digital cards to &os;.  This also
	includes TDMoE support, software and HW echo cancellation (Octasic,
	VPMADT032), and hardware transcoding support (TC400B).  The work is ongoing
	in the official DAHDI SVN repository with the close collaboration
	with DAHDI folks at Digium.</p>

      <p>The project is nearing completion.  The DAHDI framework and
	hardware drivers telephony cards have been ported and tested.
	There are a number of success stories from early adopters who
	have been using E1/T1 and FXO/FXS cards on &os; for several
	months.</p>
    </body>
  </project>

  <project cat='proj'>
    <title>V4L Support in Linux Emulator</title>

    <contact>
      <person>
	<name>
	  <given>J.R.</given>
	  <common>Oldroyd</common>
	</name>
	<email>fbsd@opal.com</email>
      </person>
    </contact>

    <links>
      <url href="http://opal.com/freebsd/sys/compat/linux/" />
    </links>

    <body>
      <p>Some bug fixes were applied, and the code was also tested and
	made to work with the cuse4bsd webcam driver, which supports a
	great many camera chipsets.</p>

      <p>The code is still only in 9-CURRENT.  We were going to MFC it to
	8.x but ran into the code freeze for 8.1, so missed that.  However,
	the code does work on 8-STABLE.  We will try to get it MFC'd for
	8.2.</p>
    </body>
  </project>

  <project cat='proj'>
    <title>Clang Replacing GCC in the Base System</title>

    <contact>
      <person>
	<name>
	  <given>Ed</given>
	  <common>Schouten</common>
	</name>
	<email>ed@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Roman</given>
	  <common>Divacky</common>
	</name>
	<email>rdivacky@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Brooks</given>
	  <common>Davis</common>
	</name>
	<email>brooks@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Pawel</given>
	  <common>Worach</common>
	</name>
	<email>pawel.worach@gmail.com</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/BuildingFreeBSDWithClang" />
    </links>

    <body>
      <p>In the past quarter we imported Clang into &os; and it is being
	built by default on i386/amd64/powerpc.  We have not yet committed
	the necessary changes to let world compile with Clang.</p>

      <p>Some bugs and warnings were fixed in HEAD as a result of the Clang
	import and people are exploring more and more areas (DTrace, etc).
	There are some bug fixes in Clang/LLVM as well that stem from the
	import (unknown pragmas warnings, etc).</p>

      <p>Roman Divacky and Matthew Fleming are working on ELF writer in
	LLVM.  This is meant as a replacement for assembler (currently we
	use an outdated GNU as(1)).  This work is progressing nice, currently it
	is able to produce working variants of hello world in C and C++, and
	some other small programs from "configure run".</p>
    </body>

    <help>
      <task>Import of newer Clang/LLVM into HEAD.</task>

      <task>Help with ARM/MIPS/SPARC64.</task>

      <task>Start pushing src patches into HEAD.</task>

      <task>More testing of Clang on third-party applications (ports).</task>

      <task>More work on the ELF writer.</task>
    </help>
  </project>

  <project cat='team'>
    <title>FreeBSD Bugbusting Team</title>

    <contact>
      <person>
	<name>
	  <given>Gavin</given>
	  <common>Atkinson</common>
	</name>
	<email>gavin@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Mark</given>
	  <common>Linimon</common>
	</name>
	<email>linimon@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Remko</given>
	  <common>Lodder</common>
	</name>
	<email>remko@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Volker</given>
	  <common>Werth</common>
	</name>
	<email>vwe@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/support.html#gnats">&os;
	  Support page</url>

      <url href="http://wiki.FreeBSD.org/BugBusting">Resources and
	  documentation available for Bugbusting</url>

      <url href="http://wiki.FreeBSD.org/Bugathons">Information on
	  Bugathons</url>

      <url href="http://people.FreeBSD.org/~linimon/studies/prs/">Links to
	  all of the auto-generated PR reports</url>

      <url href="http://people.FreeBSD.org/~linimon/studies/prs/recommended_prs.html">
	  PRs recommended for committer evaluation by the bugbusting
	  team</url>

      <url href="http://people.FreeBSD.org/~linimon/studies/prs/easy_prs.html">
	  PRs considered easy by the bugbusting team</url>

      <url href="http://people.FreeBSD.org/~linimon/studies/prs/prs_for_all_groups.html">
	  Summary Chart of &os; PRs</url>
    </links>

    <body>
      <p>After a long hiatus, we aim to hold a bugathon on the weekend of
	the 6th&nbsp;-&nbsp;9th August.  Everybody is welcome to help resolve or
	progress PRs from the database.  We appreciate the help of
	committers and non-committers alike, please join us on IRC in
	#freebsd-bugbusters on EFnet if you are free at any time over
	that weekend and can help.  Please see the "Bugathon" URL for more
	information.</p>

      <p>Mark Linimon and Gavin Atkinson held a session on the State of
	Bugbusting at BSDCan, which was well attended and led to some
	interesting discussions.  Time was also found to sit down with
	several committers to discuss long-standing PRs.</p>

      <p>The bugbusting team continue work on trying to make the GNATS PR
	database more accessible and easier for committers to find and
	resolve PRs.</p>

      <p>As a result, PRs continue to be classified as they arrive, by
	adding 'tags' to the subject lines corresponding to the kernel
	subsystem involved, or man page references for userland PRs.
	Reports are generated from these nightly, grouping related PRs in
	one place, sorted by tag or man page.  Mark Linimon continues work
	on producing a new report, Summary Chart of PRs with Tags, which
	sorts tagged PRs into logical groups such as file system, network
	drivers, libraries, and so forth.  The slice labels are clickable
	and may further subdivide the groups.  The chart is updated once
	a day.  You can consider it as a prototype for browsing
	"subcategories" of kernel PRs.</p>

      <p>The "recommended list" has been split up into "non-trivial PRs
	which need committer evaluation" and the "easy list" of trivial
	PRs, to try to focus some attention on the latter.  Various new
	reports exist, including "PRs containing code for new device
	drivers", "PRs which are from &os; vendors or OEMs", and
	"PRs referencing other BSDs".</p>

      <p>It is now possible for interested parties to be emailed a weekly,
	customized, report similar in style to the above.  If you are
	interested in setting one up, contact linimon@FreeBSD.org.</p>

      <p>Our clearance rate of PRs, especially in kern and bin, seems to
	be improving.  The number of non-ports PRs has stayed almost
	constant since the last status report.</p>

      <p>As always, anybody interested in helping out with the PR queue is
	welcome to join us in #freebsd-bugbusters on EFnet.  We are always
	looking for additional help, whether your interests lie in triaging
	incoming PRs, generating patches to resolve existing problems, or
	simply helping with the database housekeeping (identifying duplicate
	PRs, ones that have already been resolved, etc).  This is a great way
	of getting more involved with &os;!</p>
    </body>

    <help>
      <task>Plan and manage the bugathon in August, and get as many people
	as possible interested in participating.</task>

      <task>Try to find ways to get more committers helping us with closing
	PRs that the team has already analyzed.</task>
    </help>
  </project>

  <project cat='misc'>
    <title>BSDCan</title>

    <contact>
      <person>
	<name>
	  <given>Dan</given>
	  <common>Langille</common>
	</name>
	<email>dvl@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.BSDCan.org/2010/">BSDCan 2010</url>
    </links>

    <body>
      <p>BSDCan 2010 was our 7th conference.  As has become the custom,
	a &os; developer summit was held in the two days before the
	conference.  Record numbers attended the Dev Summit which carried
	over into the conference proper.  It was great to see
	representatives from so many more companies.  I saw many great
	ideas take root and the start of cooperation on several
	projects.</p>

      <p>The talks during the Dev Summit are beginning to attract a wider
	audience, and we have been talking about opening this up to the
	general audience by creating a fourth track at BSDCan 2011.</p>

      <p>As impossible as it sounds, each year has seen an increase in
	the quality of talks and the number of proposals submitted.</p>
    </body>

    <help>
      <task>I need people to help with various pre-conference tasks:
	website updates, booking travel, etc.</task>
    </help>
  </project>

  <project cat='misc'>
    <title>meetBSD 2010 &mdash; The BSD Conference</title>

    <contact>
      <person>
	<name>
	  <given>meetBSD</given>
	  <common>Information</common>
	</name>
	<email>info@meetbsd.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.meetbsd.org" />
      <url href="http://picasaweb.google.com/meetbsd/MeetBSD2010Day1#" />
      <url href="http://picasaweb.google.com/meetbsd/MeetBSD2010Day2#" />
      <url href="http://picasaweb.google.com/meetbsd/MeetBSD2010SocialEvent#" />
    </links>

    <body>
      <p>meetBSD 2010 took place on July 2&nbsp;-&nbsp;3 in Krakow, Poland at the
	Faculty of Mathematics and Computer Science building of the
	Jagiellonian University.</p>

      <p>The gathering was a much successful event which brought together
	developers, contributors, and users of the BSD systems from around the
	world.  We had many interesting presentations, of various character and
	appeal for the diversified audience.</p>

      <p>Attendees had a chance for taking the BSD Certification exam during
	the conference, as well as the advantage of face to face side
	conversations and discussions, which continued long during the social
	event on Friday night!</p>

      <p>The conference presentation slides are already available for
	download.  Video recordings edition is being finalized, and their
	publication is expected shortly.</p>

      <p>We hope you enjoyed the event and had great time in Krakow.  See you
	again soon!</p>
    </body>
  </project>

  <project cat='team'>
    <title>Release Engineering Team</title>

    <contact>
      <person>
	<name>
	  <given>Release Engineering Team</given>
	</name>

	<email>re@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/releng/" />
    </links>

    <body>
      <p>The Release Engineering Team has been working on the
	&os;&nbsp;8.1-RELEASE.  At the time of this writing
	the final builds have been completed and uploaded to
	the master FTP site.  The release announcement should
	be made within the next couple of days.</p>
    </body>
  </project>

  <project cat='team'>
    <title>&os; Core Team Election</title>

    <contact>
      <person>
	<name>
	  <given>Core</given>
	  <common>Team</common>
	</name>
	<email>core@FreeBSD.org</email>
      </person>
    </contact>

    <body>
      <p>The 2010 &os; core team election was recently completed.  The
	&os; core team acts as the project's "board of directors" and is
	responsible for approving new src committers, resolving disputes
	between developers, appointing sub-committees for specific
	purposes (security officer, release engineering, port managers,
	webmaster, et cetera), and making any other administrative or
	policy decisions as needed.  The core team has been elected by
	&os; developers every 2 years since 2000, and this marks our 6th
	democratically elected core team.</p>
      
      <p>The new core team would like to thank outgoing members Kris
	Kennaway, Giorgos Keramidas, George V. Neville-Neil, Murray
	Stokely, and Peter Wemm for their service over the past two
	(and in some cases, many more) years.</p>
  
      <p>The core team would also especially like to thank Dag-Erling
	Sm&oslash;grav for running the election.</p>
  
      <p>The newly elected core team members are:</p>

      <ul>
	<li>John Baldwin</li>
	<li>Konstantin Belousov</li>
	<li>Warner Losh</li>
	<li>Pav Lucistnik</li>
	<li>Colin Percival</li>
      </ul>
  
      <p>The returning core team members are:</p>

      <ul>
	<li>Wilko Bulte</li>
	<li>Brooks Davis</li>
	<li>Hiroki Sato</li>
	<li>Robert Watson</li>
      </ul>
    </body>
  </project>

  <project cat='misc'>
    <title>BSD-Day@2010</title>

    <contact>
      <person>
	<name>
	  <given>G&aacute;bor</given>
	  <common>P&aacute;li</common>
	</name>
	<email>pgj@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/BSDDay_2010"/>
    </links>

    <body>
      <p>The purpose of this one-day event is to gather Central European
	developers of today's open-source BSD systems to popularize
	their work and their organization, and to provide an interface
	for real-life communication.  There are no formalities, no
	papers, and no registration or participation fee.  However the
	invited developers are encouraged to give a talk on their
	favorite BSD-related topic or join the live forum, then have a
	beer with the other folks around.  The goal is to motivate
	potential future developers and users, especially undergraduate
	university students to work with BSD systems.</p>

      <p>This year's BSD-Day will be held in Budapest, Hungary at
	E&ouml;tv&ouml;s Lor&aacute;nd University, Faculty of Informatics
	on November 20, 2010.</p>
    </body>

    <help>
      <task>Apply as a developer, we are still looking for BSD people in
	the area.</task>
    </help>
  </project>
</report>
