FreeBSD Quarterly Status Report, January-March 2013
Gabor Pali
pgj at freebsd.org
Wed May 15 05:32:14 UTC 2013
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@ 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@ 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.
__________________________________________________________________
_______________________________________________
freebsd-hackers at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
More information about the freebsd-stable
mailing list