FreeBSD Quarterly Status Report, January-March 2013

From: Gabor Pali <pgj_at_freebsd.org>
Date: Sun, 12 May 2013 19:54:05 +0200
FreeBSD Quarterly Status Report, January-March 2013

Introduction

   This report covers FreeBSD-related projects between January and March
   2013. This is the first of four reports planned for 2013.

   Highlights from this status report include the busy preparations of
   8.4-RELEASE, restoration of binary package building, steady progress of
   several porting efforts, like work on the FreeBSD ports of xorg, GNOME,
   KDE, and Xfce, bringing FreeBSD to Cubieboard and Hackberry boards,
   development of ARM and AMD GPU support, improving performance of
   UFS/FFS and callouts, and introducing a multipath TCP implementation
   for the network stack.

   Thanks to all the reporters for the excellent work! This report
   contains 31 entries and we hope you enjoy reading it.

   The deadline for submissions covering the period between April and June
   2013 is July 7th, 2013.
     __________________________________________________________________

Projects

     * FreeNAS
     * Kernel Information in Process Core Dumps
     * Native iSCSI Stack

FreeBSD Team Reports

     * FreeBSD Bugmeister Team
     * FreeBSD Core Team
     * FreeBSD Port Managers
     * FreeBSD Postmaster Team
     * FreeBSD Release Engineering Team

Kernel

     * AMD GPU Kernel Mode-Setting (KMS) Support
     * Atomic "close-on-exec"
     * callout(9) Improvements
     * Multipath TCP (MPTCP) for FreeBSD
     * racct: Block IO Accounting
     * Read-only Port of NetBSD's UDF File System
     * TCP-AO Authentication Option
     * UFS/FFS Performance Work

Documentation

     * Improving the Documentation Project Infrastructre
     * The entities Documentation Branch
     * The FreeBSD Japanese Documentation Project

Architectures

     * FreeBSD on Cubieboard
     * FreeBSD/arm Superpages for ARMv7
     * FreeBSD/ARM Toolchain Improvements

Ports

     * FreeBSD Haskell Ports
     * GNOME/FreeBSD
     * KDE/FreeBSD
     * PyPy
     * Wine32 on FreeBSD/amd64
     * Xfce/FreeBSD
     * xorg on FreeBSD

Miscellaneous

     * BXR.SU -- Super User's BSD Cross Reference
     * mdoc.su -- Short Manual Page URLs
     __________________________________________________________________

AMD GPU Kernel Mode-Setting (KMS) Support

   URL: https://wiki.freebsd.org/AMD_GPU

   Contact: Jean-Sébastien Pédron <dumbbell_at_FreeBSD.org>
   Contact: J.R. Oldroyd <jr_at_opal.com>
   Contact: Konstantin Belousov <kib_at_FreeBSD.org>

   The project progressed well since February:

     * Konstantin committed is TTM port to 10-CURRENT.
     * With the help of John Baldwin (jhb) and Andriy Gapon (avg), the
       Video BIOS situation greatly improved: the radeonkms driver reads
       the BIOS shadow copy if the video card is the primary one, or query
       the PCI expansion ROM otherwise. In the end, this code will be
       probably committed to the PCI driver so that other video drivers
       benefit from it.
     * Andriy also reported several problems with the I2C code. Now that
       they are fixed, the monitors plugged into DVI and HDMI connectors
       are detected and their EDID is read correctly. VGA connector is not
       tested so far.
     * There is a locking problem in either TTM or the Radeon driver which
       prevents OpenGL from working properly. Jean-Sébastien is currently
       tracking this down.
     * J.R. Oldroyd started to work on a 9-STABLE backport of the driver
       which is now working quite well. He had to backport some features
       from the VM which may need further refinement by the VM folks.

   Yakaz lended Jean-Sébastien a computer which allows him to test a
   RV630-based discrete card and, in the future, other PCIe cards. Several
   users already kindly tested the driver. Big thanks to all those
   contributors!

   In its current state, the driver allows to have a simple X session (no
   OpenGL), run common applications, watch movies, change the resolution
   and enable additional monitors with xrandr(1). The most blocking issue
   now is the OpenGL deadlock which prevents to run modern
   compositors/desktop environment, games and WebGL demos. We are not
   ready for a "Call For Testers" yet.

Open tasks:

    1. Test multiple cards configurations for Video BIOS issues,
       especially Intel integrated card + Radeon discrete card, and AMD
       integrated card (IGP) + Radeon discrete card. No need to check
       configurations with one shared connector though, it is not
       supported right now.
     __________________________________________________________________

Atomic "close-on-exec"

   URL: https://wiki.freebsd.org/AtomicCloseOnExec

   Contact: Jilles Tjoelker <jilles_at_FreeBSD.org>

   If threads or signal handlers call fork() and exec(), file descriptors
   may be passed undesirably to child processes, which may lead to hangs
   (if a pipe is not closed), exceeding the file descriptor limit and
   security problems (if the child process has lower privilege). One
   solution is various new APIs that set the "close-on-exec" flag
   atomically with allocating a file descriptor. Some existing software
   will use the new features if present or will even refuse to compile
   without them.

   Various parts have been present for some time.

   In first quarter of 2013, extensions to recvmsg(), socket(),
   socketpair() and posix_openpt() have been added.
     __________________________________________________________________

BXR.SU -- Super User's BSD Cross Reference

   URL: http://bxr.su/
   URL: http://lists.freebsd.org/pipermail/freebsd-hackers/2013-April/042334.html

   Contact: Constantine A. Murenin <cnst++_at_FreeBSD.org>

   Super User's BSD Cross Reference (BXR.SU) is a new source-code search
   engine that covers the complete kernel and non-GNU userland source
   trees of FreeBSD, NetBSD, OpenBSD, and DragonFly BSD.

   BXR.SU is optimised to be very fast, has daily updates of all the
   trees, and also acts as a deterministic URL shortener.

   BXR.SU is based on an OpenGrok fork, but it is more than just OpenGrok.
   We have fixed a number of annoyances, eliminated features that just
   never worked right from the outright, and provided integration with
   tools like CVSweb (including great mirrors like allbsd.org), FreeBSD's
   ViewVC (SVN), as well as GitHub and Gitweb from git.freebsd.your.org,
   plus a tad of other improvements, including a complete rewrite of an
   mdoc parser. Last, but definitely not least, is an extensive set of
   nginx rewrite rules that makes it a breeze to use BXR.SU as a
   deterministic URL compactor for referencing BSD source code. For
   example, the http://bxr.su/f/kern/sched_ule.c URL will automatically
   redirect to http://bxr.su/FreeBSD/sys/kern/sched_ule.c through nginx.

   Note that according to the release schedule of BXR.SU, there is no IPv4
   glue until 2013-04-24; otherwise, the service is available via both
   IPv4 and IPv6. See the 2013-04-01 announcement on the freebsd-hackers
   mailing list for more details.

Open tasks:

    1. Find up-to-date git repositories (served with Gitweb) of NetBSD and
       OpenBSD.
    2. Find a Gitweb mirror of FreeBSD that is faster than GitHub and
       Gitorious.
     __________________________________________________________________

callout(9) Improvements

   URL: http://people.freebsd.org/~davide/asia/callout_paper.pdf
   URL: http://people.freebsd.org/~davide/asia/calloutng.pdf
   URL: http://svnweb.freebsd.org/base?view=revision&revision=247777

   Contact: Davide Italiano <davide_at_FreeBSD.org>
   Contact: Alexander Motin <mav_at_FreeBSD.org>

   In FreeBSD, timers are provided by the callout facility, which allows
   to register a function with an argument to be called at specified
   future time. The subsystem suffered of some problems, such as the
   impossibility of handling high-resolution events or its inherent
   periodic structure, which may lead to spurious wakeups and higher power
   consumption. Some consumers, such as high-speed networking, VoIP and
   other real-time applications need a better precision than the one
   currently allowed. Also, especially with the ubiquity of laptops in the
   last years, the energy wasted by interrupts waking CPUs from sleep may
   be a sensitive factor. Recent changes in the subsystem addressed those
   long-standing issues as well as introduced a new programming interface
   to take advantage of the new features.

Open tasks:

    1. Evaluating if it is worth to migrate any of the other callout(9)
       consumers to the new interface.
    2. Move callout consumers still using the legacy timeout()/untimeout()
       interface to callout_*() in order to get rid of redundant code and
       clean up KPI.
     __________________________________________________________________

FreeBSD Bugmeister Team

   Contact: Eitan Adler <eadler_at_FreeBSD.org>
   Contact: Gavin Atkinson <gavin_at_FreeBSD.org>
   Contact: Oleksandr Tymoshenko <gonzo_at_FreeBSD.org>

   The FreeBSD Bugmeister Team are continuing to evaluate options for
   alternate bug trackers and have narrowed their choices to two
   possibilities: Bugzilla and roundup.

   The number of non-ports PRs have remained relatively static over the
   last three months, with as many coming in as being closed. The number
   of ports PRs have increased recently, largely due to the ports freeze
   for the upcoming 8.4-RELEASE.

   The Bugmeister team continue work on trying to make the contents of the
   GNATS PR database cleaner, more accessible and easier for committers to
   find and resolve PRs, by tagging PRs to indicate the areas involved,
   and by ensuring that there is sufficient info within each PR to resolve
   each issue.

   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 FreeBSD!

Open tasks:

    1. Finalize the decision of which new bug tracker to use.
    2. Get more users involved with triaging PRs as they come in.
    3. Assist committers with closing PRs.
     __________________________________________________________________

FreeBSD Core Team

   Contact: Core Team <core_at_FreeBSD.org>

   At the end of 2012, the Core Team approved using Google Analytics on
   the Project web site to enable the Documentation Engineering Team to
   collect statistics on its usage for better profiling. In the first
   quarter of 2013, the Core Team worked with the Documentation
   Engineering Team to finalize the associated policies.

   Due to some debates around the political correctness of quotes added
   for the fortune(6) utility, the corresponding data file has been
   removed from the base system in -CURRENT.

   In light of the security incident, the liaison role between the Core
   Team and the Security Team has been restored, with Gavin Atkinson
   assuming this role. The Core Team work hard on resolving the current
   situation of the binary package building cluster and the associated
   security problems in tight cooperation with the Ports Management Team,
   Cluster Administators, and the FreeBSD Foundation Board. The compromise
   page is kept updated on the results.

   The FreeBSD Project submitted an application for Google Summer of Code
   this year again.

   There was access granted for 2 new committers and 1 commit bit was
   taken for safekeeping in this quarter.
     __________________________________________________________________

FreeBSD Haskell Ports

   URL: http://wiki.freebsd.org/Haskell
   URL: https://github.com/freebsd-haskell/freebsd-haskell/

   Contact: Gábor Páli <pgj_at_FreeBSD.org>
   Contact: Ashish Shukla <ashish_at_FreeBSD.org>

   We are proud to announce FreeBSD Haskell Team has updated existing
   ports to their latest stable versions. We also added number of new
   ports, which brings the count of Haskell ports in FreeBSD ports tree to
   more than 400, featuring many popular software, e.g. xmonad, git-annex,
   pandoc or various web framework implementations. All of these updates
   will be available as part of the upcoming 8.4-RELEASE. We also came to
   know that Haskell ports are also being used successfully on
   DragonFlyBSD's dports tree.

   In our development repository, there was some optional support added
   for LLVM-based code generation using the GHC LLVM backend. This works
   mostly on FreeBSD too, though some of the ports would need fixing so it
   is still considered experimental.

Open tasks:

    1. Try to build GHC with clang (as system compiler).
    2. Commit pending Haskell ports to the FreeBSD ports tree.
    3. Add more ports to the Ports Collection.
     __________________________________________________________________

FreeBSD on Cubieboard

   Contact: Ganbold Tsagaankhuu <ganbold_at_FreeBSD.org>
   Contact: Oleksandr Tymoshenko <gonzo_at_FreeBSD.org>

   Initial support of Allwinner A10 SoC is committed to -CURRENT. FreeBSD
   is now running on boards such as Cubieboard, Hackberry and it supports
   following peripherals:
     * USB EHCI
     * GPIO

Open tasks:

    1. Get EMAC Ethernet driver working. Need more help from network
       driver experts.
    2. Implement more drivers.
     __________________________________________________________________

FreeBSD Port Managers

   URL: http://www.FreeBSD.org/ports/
   URL: http://www.freebsd.org/doc/en/articles/contributing-ports/
   URL: http://portsmon.freebsd.org/
   URL: http://www.freebsd.org/portmgr/
   URL: http://blogs.freebsdish.org/portmgr/
   URL: http://www.twitter.com/freebsd_portmgr/
   URL: http://www.facebook.com/portmgr

   Contact: Thomas Abthorpe <portmgr-secretary_at_FreeBSD.org>
   Contact: Port Management Team <portmgr_at_FreeBSD.org>

   The ports tree contains approximately 24,300 ports, while the PR count
   still is close to 1600.

   In the first quarter we added 4 new committers, took in 1 commit bit
   for safe keeping, and re-instated 1 commit bit.

   In February, Mark Linimon (linimon) stepped down from his duties in the
   team. Mark had been the longest serving member of the team. Mark had
   spent many long hours refactoring and documenting the portbuild
   software to ensure that pointyhat services could be restored.

   After a security review, redports.org was turned back on, restoring
   Tinderbox services to contributors, along with post commit QATs. In
   addition, pointyhat infrastructure had also undergone a review and work
   begain on restoring the package build system.

   Erwin Lansing (erwin) and Martin Wilke (miwi) took on the principle
   roles of getting the portbuild software installed and running on
   pointyhat. As a result of all their hard work, portmgr_at_ was finally
   able to resume doing -exp runs, preparing packages for the upcoming 8.4
   release, as well as getting a set of 9.1 packages retroactively
   prepared.

   After many long years of being the defacto standard for the Project,
   CVS support for the ports tree officially ended on February 28.

   The ports tree was tagged with RELEASE_7_EOL, to coincide with the end
   of life for FreeBSD 7.X.

   Beat Gaetzi (beat) stepped down from his duties on portmgr_at_ in March.
   Among his notable contributions, was the task of migrating the Ports
   Tree from the old CVS repo to Subversion.

   Bryan Drewery (bdrewery) joined the Ports Management team in March,
   bringing with him his wealth of knowledge and skill from maintaining
   portupgrade, portmaster, assisting with pkgng, as well as co-developing
   poudriere.

Open tasks:

    1. Most ports PRs are assigned, we now need to focus on testing,
       committing and closing.
     __________________________________________________________________

FreeBSD Postmaster Team

   Contact: David Wolfskill <postmaster_at_FreeBSD.org>

   In the first quarter of 2013, the FreeBSD Postmaster Team has
   implemented the following items that may be interest of the general
   public:

     * Changes in configuration of Mailman-managed lists: allow to accept
       the application/pkcs7-signature MIME type (in addition to the
       application/x-pkcs7-signature MIME type), thus permitting S/MIME
       signatures on list mail.
     * New lists: freebsd-ops-announce -- announcements of infrastructure
       issues, and freebsd-pkg -- discussion of binary package management
       and package tools.
     __________________________________________________________________

FreeBSD Release Engineering Team

   URL: http://www.freebsd.org/releases/8.4R/schedule.html

   Contact: FreeBSD Release Engineering Team <re_at_FreeBSD.org>

   FreeBSD 8.4-RC1 just got out the door and we are planning RC2. A couple
   of critical fixes have come in that will be included in RC2. The
   schedule has slipped about 10 days so far. We are expecting the final
   release by the end of April. Packages for 8.4 have been provided by a
   fully operational package building cluster.
     __________________________________________________________________

FreeBSD/arm Superpages for ARMv7

   URL: http://static.usenix.org/events/osdi02/tech/full_papers/navarro/navarro.pdf
   URL: https://wiki.freebsd.org/ARMSuperpages
   URL: https://github.com/semihalf-bodek-zbigniew/freebsd-arm-superpages.git

   Contact: Zbigniew Bodek <zbb_at_semihalf.com>
   Contact: Grzegorz Bernacki <gjb_at_semihalf.com>
   Contact: Rafał Jaworowski <raj_at_semihalf.com>

   ARM architecture is more and more prevailing, not only in the mobile
   and embedded space. Among the more interesting industry trends emerging
   in the recent months has been the "ARM server" concept. Some top-tier
   companies started developing systems like this already (Dell, HP).

   Key to FreeBSD success in these new areas are sophisticated features,
   among them are superpages.

   The objective of this project is to provide FreeBSD/arm with the
   superpages support, which will allow for efficient use of TLB
   translations (enlarge TLB coverage), leading to improved performance in
   many applications and scalability. Indicated functionality is intended
   to work on ARMv7-based processors, however compatibility with ARMv6
   will be preserved.

   Current support status:
     * Port of the pv_entry allocator.
     * Switch to "AP[2:1]" access permissions model.
     * PTE-based, page-referenced/modified emulation.
     * Fixes regarding page replacement strategy.
     * Code optimizations and bug fixes.

   Next steps:
     * Dirty pages management.
     * Gradual integration to FreeBSD -CURRENT.
     * Further pmap optimizations.
     * Fragmentation control management.
     * Testing and benchmarking.

Open tasks:

    1. Support for multiple page sizes.
    2. Implementation of page promotion, demotion and eviction mechanisms.
     __________________________________________________________________

FreeBSD/ARM Toolchain Improvements

   Contact: Andrew Turner <andrew_at_FreeBSD.org>

   Clang has been made the default compiler on ARM. A number of issues
   with LLVM and clang have been found, reported, and fixed upstream.

   An issue where some ARM EABI applications compiled with clang crash has
   been reported upstream with a patch and will be brought into the
   FreeBSD tree when it is accepted. The only other issue blocking moving
   to the ARM EABI is C++ exceptions fail to work correctly with shared
   objects. This will need us to either import libunwind or implement the
   functions libgcc_s requires to find the correct unwind table.

Open tasks:

    1. Fix exception handling for EABI.
     __________________________________________________________________

FreeNAS

   URL: http://www.FreeNAS.org/

   Contact: Alfred Perlstein <alfred_at_FreeBSD.org>
   Contact: Josh Paetzel <jpaetzel_at_FreeBSD.org>

   FreeNAS 8.3.1-RELEASE-p2 will hit Sourceforge the second week of April,
   and should end up as the last FreeNAS release based on FreeBSD 8.X It's
   currently the only Free Open Source NAS product available with any form
   of ZFS encryption (provided by GELI).

Open tasks:

    1. The team is hard at work on getting a FreeBSD 9.X-based release of
       FreeNAS ready. Currently there are several nightly snapshots
       available.
    2. Add HAST to the webinterface.
    3. Migrate to NFSv4.
    4. Integrate foundation sponsored kernel iSCSI target.
     __________________________________________________________________

GNOME/FreeBSD

   URL: http://www.freebsd.org/gnome
   URL: http://www.freebsd.org/gnome/docs/develfaq.html
   URL: http://www.marcuscom.com:8080/viewvc/viewvc.cgi/marcuscom
   URL: https://github.com/jlmess77/mate-ports

   Contact: FreeBSD GNOME team <gnome_at_FreeBSD.org>

   The GNOME/FreeBSD Team has recently merged Glib 2.34, Gtk+ 2.24.17 and
   Gtk+ 3.6.4 into ports, the C++ bindings also have got updates. In
   additional "low-level" GNOME ports received updates, like libsoup,
   gobject-introspection, atk and vala for example. The telepathy stack
   and empathy where also updated.

   The USE_GNOME macro has received support for :run and :build targets
   thanks to Jeremy Messenger (mezz). Currently only libxml2 and libxslt
   support these targets.

   USE_GNOME=pkgconfig is being deprecated in favor of
   USE_PKGCONFIG=build. The former also adds a run dependency on
   pkg-config, which is not required. A first pass was done to get rid of
   this in the Glib update to 2.34. In cooperation with the X11 Team, the
   usage of USE_GNOME=pkgconfig in X components will be removed. After the
   fallout from this is handled and stranglers are converted, the
   USE_GNOME option will be removed.

   In addition USE_GNOME=gnomehack is deprecated and should not be used.
   Please replace it with USES=pathfix.

   The GNOME development repository has switched from CVS to SVN. CVS will
   not get any more updates. Uses can get a new version of the marcusmerge
   script that supports SVN from its home page, and should remove the old
   CVS checkout "ports" dir.

     * SVN anonymous root: svn://creme-brulee.marcuscom.com/ or
       svn://sushi.marcuscom.com/ (IPv6)
     * ViewVC: http://www.marcuscom.com:8080/viewvc/viewvc.cgi/marcuscom

   On-going efforts:

     * glib 2.36, pango 1.34.0, gtk 3.8.0 and gobject-introspection 1.36.0
       where updated in the GNOME development repository.
     * Gustau Perez i Querol stepped up and started work on updating the
       old GNOME 3.4 ports to 3.6. At the moment of writing these are not
       available in the GNOME development repository just yet. For his
       efforts, he was awarded a FreeBSD GNOME team membership.
     * Jeremy Messenger (mezz) has completed Mate 1.6 which will be
       arriving in ports near you when deemed stable enough.

   If you want to help with keeping the documentation updated or helping
   out in other ways, even if it only parts for the Glib/Gtk/GNOME stack
   you are interested in, please contact us!

Open tasks:

    1. Update the FreeBSD.org/gnome website, in particular the developer
       information about USE_GNOME, maybe put that section in the Porter's
       Handbook instead.
    2. Merge more updated ports from MC to ports.
    3. Testing latest Glib/Gtk releases with existing ports, and import it
       into ports when it is ready.
    4. After porting GNOME 3.6 run tests and fix bugs.
     __________________________________________________________________

Improving the Documentation Project Infrastructre

   URL: http://svnweb.freebsd.org/doc/projects/xml-tools/

   Contact: Gábor Kövesdán <gabor_at_FreeBSD.org>

   There is an on-going work to improve the documentation infrastructure
   and modernize our documentation toolchain. The work can be found in the
   xml-tools branch and is very near to completion. The improvements
   include the following:

     * Upgrade to DocBook 4.5.
     * Use XSLT instead of DSSSL to render XHTML-based output.
     * Generate PDF from PS and simplify image processing.
     * Fix make lint and validate the whole documentation set.
     * Fix rendering of TOC elements.
     * Fix misused link elements that resulted in a corrupt rendering.
     * Use more human-friendly publication data and release info
       rendering.
     * Add support for XInclude in DocBook documents.
     * Add support for profiling with attributes.
     * Add support for Schematron constraints.
     * Add experimental epub support.
     * Add experimental support for XSL-FO-based printed output.
     * Clean up obsolete SGML constructs.
     * Clean up catalogs.
     * Drop HTML Tidy since it is not needed any more.

   The changes eliminate some dependencies and switch the doc repository
   to a real XML toolchain with proper validation and more advanced
   rendering tools. The only exceptions are Jade and the DSSSL
   stylesheets, which are still needed for printed output.

Open tasks:

    1. Fix rendering problems with images in printed formats.
    2. Update the Documentation Primer to reflect changes.
     __________________________________________________________________

KDE/FreeBSD

   URL: http://FreeBSD.kde.org
   URL: http://FreeBSD.kde.org/area51.php

   Contact: KDE FreeBSD <kde_at_FreeBSD.org>

   The KDE/FreeBSD Team is very proud to have Schaich Alonso (aschai)
   joining the team. Welcome!

   The KDE/FreeBSD Team have continued to improve the experience of KDE
   software and Qt under FreeBSD. The latest round of improvements
   include:

     * Fix problems establishing UDP connections.

   The Team have also made many releases and upstreamed many fixes and
   patches. The latest round of releases include:

     * KDE SC: 4.9.5, 4.10.1 (ports)
     * Qt: 5.0.0 (area51) and 4.8.4 (ports)
     * PyQt: 4.9.6 (ports); QScintilla 2.7 (ports); SIP: 4.14.2 (area51)
       and 4.14.3 (ports)
     * KDevelop: 4.4.1 (ports); KDevPlatform: 1.4.1 (ports)
     * Calligra: 2.5.5, 2.6.2 (ports)
     * Amarok: 2.7.0
     * CMake: 2.8.10.2
     * Digikam (and KIPI-plugins): 3.1.0 (area51)
     * QtCreator: 4.6.1 (ports)
     * KDE Telepathy 0.6.0 (area51)
     * many smaller ports

   As a result -- according to PortScout -- we have 431 ports, of which
   93.5% (from 91%) are up-to-date.

   The Team are always looking for more testers and porters so please
   contact us and visit our home page.

Open tasks:

    1. Updating out-of-date ports, see PortScout for a list.
     __________________________________________________________________

Kernel Information in Process Core Dumps

   Contact: Mikolaj Golub <trociny_at_freebsd.org>

   When doing postmortem analysis of a crashed process it is sometimes
   very useful to have kernel information about the process at the moment
   of the crash, like open file descriptors or resource limits. For a live
   process this information can be obtained via sysctl(3) interface e.g.
   using procstat(1).

   The aim of the project is to add additional notes to a process core
   dump, which include process information from the kernel at the moment
   of the process crash, teach libprocstat(3) to extract this information
   and make procstat(1) use this functionality.

   At the moment all necessary code changes are committed to HEAD and are
   going to be merge to stable/9 in 1 month.
     __________________________________________________________________

mdoc.su -- Short Manual Page URLs

   URL: http://mdoc.su/
   URL: http://nginx.conf.mdoc.su/mdoc.su.nginx.conf
   URL: https://github.com/cnst/mdoc.su
   URL: http://lists.freebsd.org/pipermail/freebsd-doc/2013-February/021465.html

   Contact: Constantine A. Murenin <cnst++_at_FreeBSD.org>

   mdoc.su is a deterministic URL shortener for BSD manual pages, written
   entirely in nginx.conf.

   Since the original announcement, OS version support has been added
   (e.g. /f91/ and /FreeBSD-9.1/ etc.), as well as dynamic multi-flavour
   web-pages with multiple links (e.g. http://mdoc.su/f,d/ifnet.9 and
   http://mdoc.su/-/mdoc), which even let you specify the versions too
   (e.g. http://mdoc.su/f91,n60,o52,d/mdoc).

   The source code for the whole site is available under a BSD licence.

Open tasks:

    1. Fork it on GitHub (see links)!
     __________________________________________________________________

Multipath TCP (MPTCP) for FreeBSD

   URL: http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html
   URL: http://caia.swin.edu.au/newtcp/mptcp/
   URL: http://caia.swin.edu.au/reports/130424A/CAIA-TR-130424A.pdf
   URL: https://pub.allbsd.org/FreeBSD-snapshots/

   Contact: Nigel Williams <njwilliams_at_swin.edu.au>
   Contact: Lawrence Stewart <lastewart_at_swin.edu.au>
   Contact: Grenville Armitage <garmitage_at_swin.edu.au>

   We have been working to create a BSD-licensed implementation of
   Multipath TCP -- a set of TCP extensions that allow for transparent
   multipath operation with multiple IP addresses as specified in
   experimental RFC6824.

   We made our first v0.1 public release on 2013-03-11 and recently
   released v0.3 on 2013-04-16. The code is currently considered to be of
   alpha quality. We are working towards pushing the code into a FreeBSD
   Subversion repository project branch to continue the on-going
   development effort in a more publicly accessible location. As part of
   this move, we hope to begin releasing regular snapshot installer ISOs
   of the MPTCP project branch courtesy of Hiroki Sato and the allbsd.org
   daily snapshot infrastructure.

   We are about to release a CAIA technical report 130424A entitled
   "Design Overview of Multipath TCP version 0.3 for FreeBSD 10" on
   2013-04-24 which provides a high-level design and architecture overview
   of the v0.3 code release.

   Going forward, we expect to continue development and release additional
   technical reports and academic papers covering topics such as
   performance analysis and multipath congestion control/scheduling.

Open tasks:

    1. The code is currently of alpha quality so we welcome all testing
       feedback, but please familiarize yourself with the README file and
       "Known Limitations" section in particular before jumping in.
     __________________________________________________________________

Native iSCSI Stack

   URL: https://wiki.freebsd.org/Native%20iSCSI%20target

   Contact: Edward Tomasz Napieral/a <trasz_at_FreeBSD.org>

   Focus of the project was extended to also include a new iSCSI
   initiator. Compared to the old one, it is more reliable, much more
   user-friendly, and somewhat faster. It uses exactly the same
   configuration file format as the old one to make migration easier.

   As for the target side, it was verified to work properly against major
   initiators (FreeBSD, Linux, Solaris, Windows and VMWare ESX).

   This project is being sponsored by FreeBSD Foundation.

Open tasks:

    1. RDMA support, for both the target and the initiator.
    2. Performance optimization.
     __________________________________________________________________

PyPy

   URL: http://wiki.FreeBSD.org/PyPy

   Contact: David Naylor <dbn_at_FreeBSD.org>

   PyPy has been successfully updated to 2.0-beta1 with 2.0-beta2
   finishing translating and other tests. Many major changes were made to
   the PyPy port fr the 2.0-beta1 release, these include:

     * Reworking the build script.
     * Optionally use pypy (when available) for self-translating.
     * Refine memory checks.
     * Fix the test target.

   Although the port is in a healthy state; PyPy on FreeBSD has some rough
   edges (see make test for examples of roughness).

Open tasks:

    1. Fix failed unit tests.
    2. Integrate PyPy into bsd.python.mk.
    3. See the project page for more items.
     __________________________________________________________________

racct: Block IO Accounting

   URL: https://wiki.freebsd.org/RudolfTomori/IOLimits

   Contact: Rudolf Tomori <rudot_at_FreeBSD.org>

   This project adds the block IO access accounting to the racct/rctl
   resource limiting framework, a working prototype implementation is
   available.
     __________________________________________________________________

Read-only Port of NetBSD's UDF File System

   URL: https://github.com/williamdevries/UDF

   Contact: Will DeVries <william.devries_at_gmail.com>

   An initial read-only port of NetBSD's UDF file system has been largely
   completed. (The UDF file system is often used on CD, DVD and Blu-Ray
   discs.) This port provides a number of advantages over FreeBSD's
   current UDF implementation, which include:

     * Support for version 2.60 of the UDF file system specification.
       FreeBSD's current implementation only partially supports version
       1.5 of the standard, which was released in 1997. Since Windows and
       other systems support newer version of this file system, our users
       are left without the ability to read some media written by these
       systems. In addition, Blu-Ray discs are commonly written using
       version 2.50 or 2.60.
     * The ability to override the owner and group for all the files and
       directories on a UDF volume using mount options.
     * The ability to set the owner and group for files and directories
       that lack defined owner or group information using mount options.
       (The UDF specification allows for files and directories without
       owners or groups.)
     * The ability to override the mode for all directories and files on a
       volume using mount options.
     * Support for mounting previous versions of incrementally recorded
       media, like CD-Rs.
     __________________________________________________________________

TCP-AO Authentication Option

   URL: http://svnweb.freebsd.org/base/user/andre/tcp-ao/

   Contact: André Oppermann <andre_at_FreeBSD.org>

   Work is under way to implement TCP-AO (TCP Authentication Option)
   according to RFC5925 and RFC5926. TCP-AO is an extension to TCP-MD5
   signatures commonly used in routers to secure BGP routing protocol
   sessions against spoofing attacks. The work is under contract and
   sponsored by Juniper Networks.
     __________________________________________________________________

The entities Documentation Branch

   URL: http://svnweb.freebsd.org/doc/projects/entities/

   Contact: René Ladan <rene_at_FreeBSD.org>

   The entities branch was created to reduce duplication of committer
   entities. Currently there is one in authors.ent (with email addresses)
   and another one in developers.ent (without email addresses). This seems
   to be a leftover from the doc/www split in earlier times. To remedy
   this, developers.ent is merged into authors.ent and entities with email
   addresses are postfixed as such. Apart from the instructions for the
   initial commit, there should be little user-visible changes. Some
   related cleanups, like cleaning up team definitions, replacing literal
   names by entities from authors.ent, and adding missing names to
   authors.ent are also made.

Open tasks:

    1. Finish processing of the <email> tag.
    2. Send out a CFT.
    3. Merge back into head branch.
     __________________________________________________________________

The FreeBSD Japanese Documentation Project

   URL: http://www.FreeBSD.org/ja/
   URL: http://www.jp.FreeBSD.org/doc-jp/

   Contact: Hiroki Sato <hrs_at_FreeBSD.org>
   Contact: Ryusuke Suzuki <ryusuke_at_FreeBSD.org>

   Web page (htdocs): Newsflash and some other updates in the English
   version have been translated to keep them up-to-date. Specifically, the
   release related contents were updated in this period.

   Books: FreeBSD Handbook has constantly been updated since the last
   report; particularly, "ports", "desktop" section were largely updated.
   Some progress has been made in the "advanced-networking" section,
   contributed by a new translator.

   "Writing FreeBSD Problem Reports" article is now in sync with the
   English version.

Open tasks:

    1. Further translation work of outdated documents in ja_JP.eucJP
       subtree.
     __________________________________________________________________

UFS/FFS Performance Work

   URL: http://www.mckusick.com/publications/faster_fsck.pdf

   Contact: Kirk McKusick <mckusick_at_mckusick.com>

   Some work on the performance of UFS/FFS has been recently committed to
   HEAD. The purpose of the corresponding change to the FFS layout policy
   is to reduce the running time for a full file system check. It also
   reduces the random access time for large files and speeds up the
   traversal time for directory tree walks.

   The key idea is to reserve a small area in each cylinder group
   immediately following the inode blocks for the use of metadata,
   specifically indirect blocks and directory contents. The new policy is
   to preferentially place metadata in the metadata area and everything
   else in the blocks that follow the metadata area.

   The size of this area can be set when creating a filesystem using
   newfs(8) or changed in an existing filesystem using tunefs(8). Both
   utilities use the -k held-for-metadata-blocks option to specify the
   amount of space to be held for metadata blocks in each cylinder group.
   By default, newfs(8) sets this area to half of minfree (typically 4% of
   the data area).

   As with all layout policies, it only affect layouts of things allocated
   after it is put in place. So these changes will primarily be noticable
   on newly created file systems.

   File system checks have been sped up by caching the cylinder group maps
   in pass1 so that they do not need to be read again in pass5. As this
   nearly doubles the memory requirement for fsck(8), the cache is thrown
   away if other memory needs in fsck(8) would otherwise fail. Thus, the
   memory footprint of fsck(8) remains unchanged in memory constrained
   environments. This optimization will be evident on all UFS/FFS
   filesystems.

   This work was inspired by a paper presented at Usenix's FAST '13.

Open tasks:

    1. MFC to 9-STABLE and possibly 8-STABLE should happen by May unless
       problems arise with these changes in HEAD.
     __________________________________________________________________

Wine32 on FreeBSD/amd64

   URL: http://wiki.freebsd.org/i386-Wine

   Contact: David Naylor <dbn_at_FreeBSD.org>

   The i386-wine port (formally wine-fbsd64) has been added to the ports
   collection (as emulators/i386-wine-devel). Although the port can only
   be compiled under a x86 32-bit system the resulting package can be
   installed on a x86 64-bit system and enable running of 32-bit Microsoft
   Windows programs.

   Packages for the port are in development and should be announced
   shortly on the freebsd-questions and freebsd-emulation mailing lists.

   There are some issues with Wine32 on FreeBSD/amd64 -- possibly related
   to FreeBSD32_COMPACT, or other general 32/64-bit issues -- that could
   do with some focus.

Open tasks:

    1. Port wine64 to FreeBSD.
    2. Port WoW64 (wine32 and wine64 together) to FreeBSD.
    3. Fix 32- and 64-bit issues (such as Intel graphics not
       accelerating).
     __________________________________________________________________

Xfce/FreeBSD

   URL: https://wiki.FreeBSD.org/Xfce
   URL: http://people.freebsd.org/~olivierd/patches/midori-0.4.9_0.5.0.diff

   Contact: FreeBSD Xfce Team <xfce_at_FreeBSD.org>

   The Xfce FreeBSD Team has updated many ports, especially:

     * tumbler: 0.1.27 (add new option, COVER)
     * Parole: 0.5.0
     * xfdesktop: 4.10.2
     * Midori: 0.4.9 (full compatible with Vala 0.18), 0.5.0 is available
       (see links)
     * Orage: 4.8.4
     * xfce4-terminal: 0.6.1 (renamed by upstream, previous name was
       Terminal)

   This last application contains drop-down functionality, new window
   slides down from the top of the screen when key (we can define keyboard
   shortcut) is pressed.

Open tasks:

    1. Replace libxfce4gui (deprecated and not maintained by upstream) by
       libxfce4ui in order to enhance support panel plugins for Xfce >=
       4.10.
    2. Work on Midori Gtk3 port.
    3. Fix gtk-xfce-engine with Gtk+ >=3.6.
     __________________________________________________________________

xorg on FreeBSD

   URL: http://wiki.freebsd.org/Xorg
   URL: http://people.freebsd.org/~zeising/xorg-7.7.diff
   URL: http://trillian.chruetertee.ch/ports/browser/trunk
   URL: http://trillian.chruetertee.ch/ports/browser/branches/xorg-7.7

   Contact: FreeBSD X11 Team <x11_at_FreeBSD.org>
   Contact: Niclas Zeising <zeising_at_FreeBSD.org>
   Contact: Koop Mast <kwm_at_FreeBSD.org>

   Most of the work during this period has been in updating, testing and
   stabilizing the development repository. A number of xorg applications
   and various other leaf ports has been committed as part of this effort.
   After this a CFT was sent out asking for help in testing the remaining
   bits in development, including updates to all major libraries and
   xorg-server.

   Currently, the CFT patch has been submitted for an exp-run to iron out
   any final bugs. The plan is to merge it sometime after FreeBSD 8.4 is
   released and the ports tree is reopened for commits.

   Work is also on-going to port new versions of MESA and OpenGL, as well
   as a new version of xorg-server, and perhaps in the future, Wayland.
   These are considered more long-term goals and are not targeted for the
   current update.

Open tasks:

    1. Decide how to handle the new and old xorg distributions. In recent
       xorg, a lot of legacy driver support has been dropped, therefore we
       need to maintain two xorg distributions to not lose a lot of
       hardware drivers. Currently, this is done by setting the flag
       WITH_NEW_XORG in /etc/make.conf, but a more practical solution is
       needed. This is especially important since the flag is not very
       user-friendly, and since there currently will be no official
       packages for the new distribution.
    2. Continue to test and update xorg related ports. There are new
       versions of xserver, as well as MESA and related OpenGL libraries
       which needs to be ported and eventually integrated into the ports
       tree.
    3. Port Wayland. The future of graphical environments in open source
       operating systems seems to be Wayland. This needs to be ported to
       FreeBSD so that a wider audience can test it, and so that it
       eventually can be integrated into the ports tree, perhaps as a
       replacement for the current xorg.
    4. Look into replacements for HAL. HAL is used for hot-plugging of
       devices, but it has been long abandoned by Linux. A replacement,
       perhaps build on top of devd would be nice to have. This work
       should be coordinated with the FreeBSD GNOME and KDE teams.
     __________________________________________________________________
Received on Sun May 12 2013 - 15:54:58 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:37 UTC