[FreeBSD-Announce] FreeBSD Quarterly Status Report, January-March 2013
Gabor Pali
pgj at freebsd.org
Sun May 12 17:57:28 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.
__________________________________________________________________
More information about the freebsd-announce
mailing list