FreeBSD Quarterly Status Report October-December, 2011

Обсуждение всяких разных новостей.
проходил мимо

FreeBSD Quarterly Status Report October-December, 2011

Непрочитанное сообщение Гость » 2012-01-28 13:55:14


This report covers FreeBSD-related projects between October and
December 2011. It is the last of the four reports planned for 2011.
This quarter was mainly devoted to polishing the bits for the next
major version of FreeBSD, 9.0, which was already successfully released
in the beginning of January 2012.

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

Please note that the deadline for submissions covering the period
between January and March 2012 is April 15th, 2012.


* Auditdistd Project
* BSD-Licensed C++ Stack
* pfSense

User-land Programs

* Replacing the Regular Expression Code
* System Configuration Utilities

FreeBSD Team Reports

* FreeBSD Ports Management Team Status Report
* Release Engineering Team Status Report
* The FreeBSD Foundation Status Report


* CAM Target Layer (CTL)
* FreeBSD No-IPv4 ("IPv6-Only") Support
* HDA Sound Driver (snd_hda) Improvements
* LSI Supported mps(4) SAS driver
* SCSI Direct Access Driver (da) Improvements
* Status Report for NFS
* The New CARP


* A Tool to Check for Mistakes in Documentation -- igor
* The FreeBSD German Documentation Project
* The FreeBSD Japanese Documentation Project


* FreeBSD/390
* FreeBSD/arm on Marvell Armada XP
* FreeBSD/powerpc on AppliedMicro APM86290
* FreeBSD/powerpc on Freescale QorIQ DPAA
* Improving Support for New Features in the Intel SandyBridge CPUs


* FreeBSD Haskell Ports
* FreeBSD Ruby Ports
* Multimedia -- Watching/Recording Digital TV
* Perl Ports Testing
* Public FreeBSD Ports Development Infrastructure --
* Up to Date X.Org Server

A Tool to Check for Mistakes in Documentation -- igor


Contact: Warren Block <>

igor is a program that proofreads man pages, DocBook SGML source, and
other text files for many common mistakes.

Files are tested for spelling mistakes, repeated words, and white-space
problems. Man pages are also checked for minimal structure, and DocBook
SGML source files are checked for formatting and tag problems.

If you write or edit FreeBSD documentation, let igor help you check it
for correctness.

Open tasks:

1. Find a testing or parsing framework that can do a faster or better
job, or that can understand the state of DocBook tags.
2. Add more tests.
3. Improve speed.

Auditdistd Project

Contact: Pawel Jakub Dawidek <>

Current weakness of FreeBSD's Security Event Audit facility is that
audit records are stored locally and can be modified or removed by an
attacker after a system compromise.

The auditdistd will allow to reliably and securely distribute audit
trail files over TCP/IP network to remote system. In case of system
compromise it will enable administrators to analyze audit records in
trusted environment.

This project is sponsored by the FreeBSD Foundation and should be
completed by the end of February 2012.

BSD-Licensed C++ Stack

Contact: David Chisnall <>

Two new libraries, libc++ (providing a C++11 STL implementation) and
libcxxrt (providing an implementation of the C++ ABI specification)
have been added. This is enabled by adding WITH_LIBCPLUSPLUS=yes to
src.conf. It is not enabled by default because libc++ does not build
with the version of gcc in the base system and requires you to build
with clang.

Once it is built, you can select between using GNU libstdc++ and libc++
by adding -stdlib=libc++ or -stdlib=libstdc++ to your compile and link
flags (when building with clang).

If you are running head (or have a spare [virtual] machine you can try
it on) then please try building your C++ code with libc++ and let me
know of any failures, ideally with reduced test cases.

Open tasks:

1. Test ports with libc++. Hopefully most will Just Work., but others
may need patches or have a hard dependency on libstdc++.
2. Make libstdc++ dynamically link to libsupc++. This will allow us to
use libmap.conf to switch between libsupc++ and libcxxrt.
3. Enable building libc++ by default (hopefully in the 9.1 time-frame,
when clang becomes the default system compiler) and switch to using
libcxxrt instead of libsupc++ by default.
4. Lots more testing. Followed by even more testing.
5. Removing libstdc++ from the base system and making it available
through ports for backwards compatibility.

CAM Target Layer (CTL)

URL: ... ary/031007.

Contact: Ken Merry <>

The CAM Target Layer (CTL) is now in FreeBSD/head.

CTL is a disk and processor device emulation subsystem originally
written for Copan Systems under Linux starting in 2003. It has been
shipping in Copan (now SGI) products since 2005.

It was ported to FreeBSD in 2008, and thanks to an agreement between
SGI (who acquired Copan's assets in 2010) and Spectra Logic in 2010,
CTL is available under a BSD-style license. The intent behind the
agreement was that Spectra would work to get CTL into the FreeBSD tree.

It will likely be merged into the stable/9 tree in mid-February.

Some CTL features:
* Disk and processor device emulation
* Tagged queueing
* SCSI task attribute support (ordered, head of queue, simple tags)
* SCSI implicit command ordering support. (e.g. if a read follows a
mode select, the read will be blocked until the mode select
* Full task management support (abort, LUN reset, target reset, etc.)
* Support for multiple ports
* Support for multiple simultaneous initiators
* Support for multiple simultaneous backing stores
* Persistent reservation support
* Mode sense/select support
* Error injection support
* High Availability support (1)
* All I/O handled in-kernel, no userland context switch overhead.

(1) HA Support is just an API stub, and needs much more to be fully

For the basics on configuring and running CTL, see
src/sys/cam/ctl/README.ctl.txt in the FreeBSD/head source tree.

FreeBSD Haskell Ports


Contact: G?bor J?nos P?LI <>
Contact: Ashish SHUKLA <>

We are proud to announce that the FreeBSD Haskell Team has updated the
Haskell Platform to 2011.4.0.0, as well as updated GHC to 7.0.4 in
FreeBSD Haskell ports repository. We also added a number of new Haskell
ports, and their count is now more than 300. Some of the new ports
include Yesod, Happstack (popular web development frameworks in
Haskell), ThreadScope (a graphical profiler tool for parallel Haskell

Due to ports repository freeze for 9.0-RELEASE, these updates are not
in official ports tree yet. They will be committed to the ports
repository after it is unfrozen again, in the meantime they can be
accessed through FreeBSD Haskell ports repository.

Open tasks:

1. Commit pending Haskell ports to FreeBSD ports repository.
2. Test GHC to work with clang/LLVM.
3. Add an option to the lang/ghc port to be able to build it with
already installed GHC instead of requiring a separate GHC bootstrap

FreeBSD No-IPv4 ("IPv6-Only") Support


Contact: Bjoern A. Zeeb <>

The No-IPv4 (fka. "IPv6-Only") project initially prototyped in p4 and
merged into mainstream FreeBSD with support from the FreeBSD Foundation
and iXsystems earlier in 2011 for World IPv6 Day continued as a free
time project. Thanks to the help of an anonymous source, dedicated i386
and amd64 build machines and a distribution node were setup to allow
continuous building of snapshots and we hope to extend the support for
the snapshots in the future providing more services.

During the 9.0 release cycle a BETA and an RC snapshot were built and
released. FreeBSD 9.0-RELEASE will be the first official release
supporting a kernel to compile out IPv4 support. We will provide (and
given 9.0 is out at time of writing do provide) a no-IPv4 snapshot
accompanying the official release and hope for your feedback.

I would like to thank Hiroki Sato/ for providing a mirror in
Japan for the Asian community in addition to mine in Europe.

Open tasks:

1. Commit/Submit upstream a few user space fixes.
2. More user space cleanup and testing.
3. Get rid of gethostby*() calls.

FreeBSD Ports Management Team Status Report

URL: ... ing-ports/

Contact: Thomas Abthorpe <>
Contact: Port Management Team <>

The ports tree finally surpassed 23,000 ports. The PR count still
remains at about 1100.

In Q4 we added 4 new committers, took in 4 commit bit for safe keeping,
and had one committer return to ports work.

The Ports Management team have been running -exp runs on an ongoing
basis, verifying how base system updates may affect the ports tree, as
well as providing QA runs for major ports updates. Of note, -exp runs
were done for:
* KDE4 and cmake updates
* Multiple runs to test and fix breakages induced by the bump in
digits for FreeBSD 10
* Verify the removal of X11BASE from ports
* Test ports after import of flex and m4 into src base
* Optimizations to
* Test xcb update and split into multiple ports
* Estimate number of ports utilizing old interface ioctls
* Ongoing validation of infrastructure with pkgng
* testing ports with clang as default compiler

pkgng now has real safe binary upgrade, as well as real integrity
checking, work has been started to have the ports tree be able to
bootstrap pkgng. More info on the CFT email..

The pointyhat-west build machine continues toward production use, code
updates have made it more versatile such as swapping out information in
make.conf for build slaves, assist in testing of pkgng -exp runs and to
properly build linux_base ports.

It has been decided that the ports tree will be migrated from CVS to
Subversion, beat@ will be in charge of the project. More information on
the wiki.

A moderated mailing list has been created for ports related
announcements, ... s-announce, it is
intended, but not limited, to be a means of communicating portmgr@
announcements, Calls for Testing, plus other relevant information to be
used by our committers and ports maintainer community.

Open tasks:

1. Looking for help getting ports to build with clang.
2. Looking for help fixing ports broken on CURRENT. (List needs
updating, too)
3. Looking for help with Tier-2 architectures.
4. ports broken by src changes.
5. ports failing on pointyhat.
6. ports failing on pointyhat-west.
7. ports that are marked as BROKEN.
8. When did that port break.
9. Most ports PRs are assigned, we now need to focus on testing,
committing and closing.

FreeBSD Ruby Ports

URL: ... html#ruby-
URL: ... l#rubygem-

Contact: Philip Gollucci <>
Contact: Steve Wills <>

Work is underway to convert the remaining ruby- ports to rubygem-*
ports in order to keep up with the gem community.

A second attempt will be made to change the default ruby from 1.8 to
1.9. There will be some unavoidable casualties of this transition. The
sysutils/rubygem-chef-server port was contributed by RideCharge Inc /
Taxi Magic who is now using it exclusively.

Open tasks:

1. Need some fresh -exp runs to check the new status especially with
ruby 1.9.3-p0.


Contact: Pau Amma <>
Contact: Bjoern A. Zeeb <>

I wandered in and started working on FreeBSD/390 about 1 month ago
based on source Bjoern provided. My short term goals are to sync it
with the current HEAD and write a minimal IPLabel loader, so we do not
have to depend on Hercules-only commands to test the kernel boot

Then it will be time to make the crossbuild work again and get the
kernel booting.

FreeBSD/arm on Marvell Armada XP


Contact: Grzegorz Bernacki <>
Contact: Rafal Jaworowski <>

Marvell Armada XP is a complete system-on-chip solution based on Sheeva
embedded CPU. These devices integrate up to four ARMv6/v7 compliant
Sheeva CPU cores with shared L2 cache.

This work is extending the FreeBSD/arm infrastructure towards support
for recent ARM architecture variations along with a basic set of device
drivers for integrated peripherals.

The following code has been implemented since the last status report:
* SMP support
+ Implemented TLB broadcast and RFO
+ Tested 2 and 4 cores setup in WT cache mode
* SATA driver integrated and tested
* CESA driver integrated and tested

Next steps:
* L2 cache support
* Full support for WB/WBA cache



Contact: GNOME FreeBSD mailing list <>

It has been a while since we did a status report.

This year we started work on GNOME 3.0. Due to time constrains and lack
of man power, this version did not make it into the ports. Currently we
have 3.2 in our development repo. See the development FAQ on our
website for details. The MC-UPDATING file contains upgrade

Currently the GNOME team is understaffed, help is welcome!

Open tasks:

1. Update the FreeBSD gnome website with GNOME 3.x information, and
still supply the 2.32.x info.



Contact: FreeBSD KDE <>

The KDE/FreeBSD team have continued to improve the experience of KDE
software and Qt under FreeBSD. The latest round of improvements
* Many fixes upstream to make KDE and Qt build with Clang
* Making automoc not freeze with parallel builds

The team has also made many releases and upstreamed many fixes and
patches. The latest round of releases include:
* KDE SC: 4.7.3, 4.7.4 (in the area51 experimental repository)
* Qt: 4.8.0 (in the area51 experimental repository)
* CMake: 2.8.6, 2.8.7

The team is always looking for more testers and porters so please
contact us at and visit our home page at

Open tasks:

1. Testing KDE SC 4.8.0.
2. Testing KDE PIM 4.7.4.
3. Testing phonon-gstreamer and phonon-vlc as the phonon-xine backend
was deprecated (but will remain in the ports for now).
4. Testing the Calligra beta releases (in the area51 repository).

FreeBSD/powerpc on AppliedMicro APM86290

Contact: Grzegorz Bernacki <>
Contact: Rafal Jaworowski <>

The APM86290 system-on-chip device is a member of AppliedMicro's
PACKETpro family of embedded processors.

The chip includes two Power Architecture PPC465 processor cores, which
are compliant with Book-E specification of the architecture, and a
number of integrated peripherals.

This work is extending current Book-E support in FreeBSD towards PPC4xx
processors variation along with device drivers for integrated

The following drivers have been created since the last report:
* Ethernet controller driver
* Classifier driver
* Finished Queue Manager/Traffic Manager
* Improved performance and stability

Next steps:
* L2 cache support
* Merge APM86290 support to -CURRENT

FreeBSD/powerpc on Freescale QorIQ DPAA

URL: ... code=P2040
URL: ... code=P3041
URL: ... code=P5020

Contact: Michal Dubiel <>
Contact: Rafal Jaworowski <>
Contact: Piotr Ziecik <>

The QorIQ Data Path Acceleration Architecture (DPAA) from Freescale is
a comprehensive architecture, which integrates all aspects of packet
processing in the SoC, addressing issues and requirements resulting
from the nature of QorIQ multicore SoCs. It includes:
* Cores
* Network and packet I/O
* Hardware offload accelerators
* The infrastructure required to facilitate the flow of packets
between the above

The DPAA also addresses various performance related requirements,
especially those created by the high speed network I/O found on
multicore SoCs such as P2041, P3041, P5020, etc. This work is bringing
up FreeBSD on these system-on-chip devices along with device drivers
for integrated peripherals.

Current FreeBSD QorIQ DPAA support includes:
* QorIQ P2041 and P3041 devices
* E500mc core complex
* Adaptation of toolchain for the new core
* Booting via U-Boot bootloader
* CoreNet interconnect fabric
* L1, L2, L3 cache
* Serial console (UART)
* Interrupt controller
* DPAA infrastructure (BMAN, FMAN, QMAN)
* Ethernet (basic network functionality using Independent Mode of
DPAA infrastructure)
* EHCI controller
* PCI Express controller (host mode)
* SMP support (up to quad-core)
* I2C

Next steps:
* QorIQ P5020 (32-bit mode) support
* Ethernet (full network functionality using Regular Mode of DPAA
* Enhanced SDHC



Contact: Alexander Motin <>

The GEOM MULTIPATH class underwent a major rewrite to fix many problems
and improve functionality, including:
* Improved locking and destruction process to fix crashes.
* "Automatic" configuration method improved to make it safe by
reading metadata back from all specified paths after writing to
* "Manual" configuration method added to work without using on-disk
metadata. New "add" and "remove" commands allow to manage paths
* Failed paths are no longer dropped from GEOM, but only marked as
failed and excluded from I/O operations. Failed paths can be
automatically restored when all other paths are lost or marked as
failed, for example, because of device-caused (not transport)
errors. "Fail" and "restore" commands added to manually control
failure status.
* Added Active/Active mode support. Unlike the default Active/Passive
mode, the load is evenly distributed between all working paths. If
supported by the device, it allows to significantly improve
performance, utilizing bandwidth of all paths. It is controlled by
the -A option during creation.
* Provider size check added to reduce chance of conflict with other
GEOM classes.
* GEOM is now destroyed on last provider disconnection.
* `status` and `list` commands output was improved.

These changes are now committed into the FreeBSD HEAD branch. Merge to
9-STABLE and 8-STABLE is planned after 9.0 release.

Project sponsored by iXsystems, Inc.

Open tasks:

1. Implement some additional request ordering mechanism for the
Active/Active mode. Some consumers in theory may not wait for
previous requests completion before submitting new overlapping or
dependent requests. Those requests may be reordered on device if
run via different paths simultaneously.

HDA Sound Driver (snd_hda) Improvements


Contact: Alexander Motin <>

snd_hda(4) driver took major rewrite:
* Big old hdac driver was split into three independent pieces: HDA
controller driver (hdac), HDA CODEC driver (hdacc) and HDA audio
function driver (hdaa). All drivers are completely independent and
talk to each other only via NewBus interfaces. Using more NewBus
bells and whistles allows to properly see HDA structure with
standard system instruments, such as `devinfo -v`. Biggest driver
file size now is 150K, instead of 240K before, and the code is much
* Support for multichannel recording was added. While I have never
seen it configured by default, UAA specification tells that it is
possible. Now, as specification defines, driver checks input
associations for pins with sequence numbers 14 and 15, and if found
(usually) -- works as before, mixing signals together. If it does
not, it configures input association as multichannel. I have found
some CODECs doing strange things when configured for multichannel
recording, but I have also found successfully working examples.
* Signal tracer was improved to look for cases where several
DACs/ADCs in CODEC can work with the same audio signal. If such a
case is found, the driver registers additional playback/record
stream (channel) for the pcm device. Having more than one stream
allows to avoid vchans use and so avoid extra conversion to vchan's
pre-configured sample rate and format. Not many CODECs allow this,
especially on playback, but some do.
* New controller streams reservation mechanism was implemented. That
allows to have more pcm devices than streams supported by the
controller (usually 4 in each direction). Now it limits only number
of simultaneously transferred audio streams, that is rarely
reachable and properly reported if happens.
* Codec pins and GPIO signals configuration was exported via set of
writable sysctls. Another sysctl dev.hdaa.X.reconfig allows to
trigger driver reconfiguration in run-time. The only requirement is
that all pcm devices should be closed at the moment, as they will
be destroyed and recreated. This should significantly simplify
process of fixing CODEC configuration. It should be possible now
even to write GUI to do it with few mouse clicks.
* Driver now decodes pins location and connector type names. In some
cases it gives a hint to the user where the connectors of the pcm
device are located on the system case. The number of channels
supported by pcm device, reported now (if it is not 2), should also
make finding them easier.

The code is in testing now and should be soon committed to the HEAD

Project sponsored by iXsystems, Inc.

Open tasks:

1. Closer inspection of HDMI/DisplayPort audio is planned.
2. A number of hardware, mostly laptops, need workarounds to work
properly. Some statistics should be collected to implement some of
them avoiding excessive code bloat.

Improving Support for New Features in the Intel SandyBridge CPUs

Contact: Konstantin Belousov <>

Support for new features in the Intel SandyBridge CPUs is progressing.

The patch to query and allow extended FPU states was committed, which
enabled the YMM registers and AVX instruction set on the capable
processors. Todo items include get wider testing of the change before
planned merge to stable/9 in a month, and start using XSAVEOPT
instruction to optimize context switch times.

Patch to enable and use per-process TLB was developed. Latest version
is available at The
facility, referred in the documentation as PCID, allows to avoid TLB
flush on context switches by applying PID tag to each non-global TLB
entry. On SandyBridge, measurements did not prove any difference
between context switch latencies on patched and stock kernels.

Forthcoming IvyBridge CPUs promised to provide optimizations in the
form of INVPCID instructions that allow to optimize TLB shootdown
handlers. The patch above uses the instruction on the capable CPU. Todo
items are to get access to IvyBridge and do the benchmarks.

Future work might provide SEP support, use hardware random generator
from IvyBridge for random(4), considering using faster instructions to
access %fs and %gs bases, and use improved AES-NI instruction set for

LSI Supported mps(4) SAS driver

URL: ... ary/031358.

Contact: Ken Merry <>
Contact: Kashyap Desai <>

The LSI-supported version of the mps(4) driver, that supports their 6Gb
SAS controllers and WarpDrive solid state drives, is available in

In addition to WarpDrive support, the driver also has several other new
* Integrated RAID (IR) support
* Improved error recovery code
* Support for SCSI protection information (EEDP)
* Support for TLR (Transport Level Retries), needed for tape drives
* ioctl interface compatible with LSI utilities

Thanks to LSI for doing the work on this driver, and the testing.

I plan to merge it into stable/9 and stable/8 in early February.

Multimedia -- Watching/Recording Digital TV


Contact: Hans Petter Selasky <>
Contact: Jason Harmening <>
Contact: Juergen Lock <>

Progress has been made when watching/recording live digital TV using
* multimedia/webcamd is continuously adding support for more and more
USB tuners using the Linux V4L/DVB drivers (also including remotes
via webcamd and comms/lirc.)
* multimedia/cx88 recently added Linux DVB API support for CX88-based
PCI(-e) DVB-T tuners so "common" apps can now also be used with
that hardware.
* multimedia/xbmc-pvr was committed recently and the multimedia/vdr
ports are working too for watching/recording live digital TV, and
also other apps like kaffeine, or mplayer, or vlc.

Open tasks:

1. Continue updating the VDR ports to the latest versions and fix
remaining bugs.
2. Update multimedia/libxine to 1.2.0 that recently was released
(which VDR uses.)
3. Test more hardware?

Perl Ports Testing

Contact: Steve Wills <>
Contact: Sunpoet Po-Chuan Hsieh <>

Many Perl modules in ports come with test cases included with their
source. This project's goal is to ensure that all these tests pass.
Patches have been added to the ports tinderbox to allow test related
dependencies to be installed and many ports have TEST_DEPENDS now. A
patch is available to enable testing for those who wish to help out.
All p5- ports have been built and tests attempted. Approximately 61% of
the Perl ports pass currently. Many ports have been updated to include
missing dependencies or make other changes which allow tests to pass.
Long term goals include a more generic framework for testing ports and
automated tests executed when ports are updated.

Open tasks:

1. Many Perl ports which do not pass tests remain.
2. Need to figure out how to move testing out of tinderbox.
3. A patch to build Perl with -pthread (but not enable useithreads in
Perl) is pending. It will fix many currently broken tests



Contact: Scott Ullrich <>
Contact: Chris Buechler <>
Contact: Ermal Lu?i <>

pfSense is a free and open source customized distribution of FreeBSD
tailored for use as a firewall and router.

2.0.1 was just released which corrected a number of issues

Open tasks:

1. 6 month release cycle.
2. Moving builds to FreeBSD 9.
3. Full IPV6 support.
4. PBI Package binaries.
5. Unbound integration.
6. Multi-instance Captive Portal.
7. Replacing Prototype with jQuery.

Public FreeBSD Ports Development Infrastructure --

URL: irc://

Contact: Bernhard Froehlich <>

Redports is a free service for FreeBSD port maintainers and port
committers to automatically buildtest ports on various FreeBSD versions
and architectures. The motivation to do that was because there are many
people that do not have access to Ports Tinderboxes and the existing
Tinderboxes are usually dedicated to a single team.

The platform was designed with scalability in mind but building
capacity is currently very limited until more hardware is available. I
am already in contact with the usual suspects to improve that.

Open tasks:

1. Get more Hardware for building.
2. Port options support.
3. ports-mgmt/portlint support.

Release Engineering Team Status Report


Contact: Release Engineering Team <>

The Release Engineering Team was pleased to announce the release of
FreeBSD-9.0 on January 12th, 2012. To acknowledge his incredible
contributions to the world of computing and in particular the FreeBSD
Project's corner of that world FreeBSD-9.0 was dedicated to Dennis
Ritchie. May he rest in peace. The Release Engineering Team also wishes
to thank the FreeBSD Developers and Community for all the work they put
into the release.

With the FreeBSD-9.0 release cycle completed our focus shifts to
preparing for the FreeBSD-8.3 release. A schedule has not been set but
we expect to be shooting for release some time in March 2012.

Replacing the Regular Expression Code

URL: ... tegration/
URL: ... ezesek1.pd

Contact: G?bor K?vesd?n <>

The current regular expression code in libc has to be replaced because
it is old, unmaintained and does not support wide characters. As it has
been elaborated, TRE is the most suitable replacement outside that has
an acceptable license. However, the development of BSD grep also
brought some relevant observations. In short, there are some
possibilities to optimize pattern matching but it is not possible with
the POSIX API, because:
* It uses NUL-terminated strings that requires processing each
character and makes longer jumps impossible.
* It matches for one pattern at a time. If more patterns are
searched, there are more efficient ways for pattern matching but we
have to know all of them and process them together.

This project intends to implement these shortcut and provide efficient
pattern matching for all programs that use regex matching. It will also
help avoiding the custom tricks that are hardcoded into some programs,
like GNU grep, to work around the limiting POSIX API. Besides, GNU grep
has some extensions over the POSIX regular expression, which are
necessary if we want to get rid of GNU code in the end.

Open tasks:

1. Implement multi-pattern heuristic regex matching.
2. Implement GNU-specific regex extensions.
3. Adapt BSD grep to use the multi-pattern interface.
4. Test standard-compliance and correct behavior.

SCSI Direct Access Driver (da) Improvements

Contact: Alexander Motin <>

BIO_DELETE support (aka TRIM) was added to the CAM SCSI Direct Access
device driver (da).

Depending on device capabilities different methods are used to
implement it. Currently used method can be read/set via sysctls. Possible values are:
* NONE - no provisioning support reported by the device;
* DISABLE - provisioning support was disabled because of errors;
* ZERO - use WRITE SAME (10) command to write zeroes;
* WS10 - use WRITE SAME (10) command with UNMAP bit set;
* WS16 - use WRITE SAME (16) command with UNMAP bit set;
* UNMAP - use UNMAP command (equivalent of the ATA DSM TRIM command).

The last two methods (UNMAP and WS16) are defined by SBC specification
and the UNMAP method is the most advanced one. The rest of the methods
I have found supported in Linux, and as they were trivial to implement,
then why not? I hope they will be useful in some cases.

As side product of fetching logical block provisioning support flag, da
driver also got support for reporting device physical sector size (aka
Advanced Format) via stripesize/stripeoffset GEOM fields. Some quirks
were added for known 4K sector disks not reporting it properly.

The code was committed to the HEAD branch and is going to be merged to
8/9-STABLE after some time.

Project sponsored by iXsystems, Inc.

Open tasks:

1. To implement more effective selection of the best delete method
some more parameters need to be obtained from the device. Unluckily
none of devices I have report them.

Status Report for NFS

Contact: Rick Macklem <>

The new NFS client and server are no longer considered experimental and
are the default for FreeBSD 9.0. Included is fairly complete support
for NFSv4.0, as well as NFSv3 and NFSv2. NFSv4.0 delegations are not
enabled by default for the server, since there is no handling of them
for local system calls done on the server, as yet. So far, the
transition seems to have gone alright, with only a couple of obscure
issues identified that did not get fixed for FreeBSD 9.0. Patches for
these can be found at

Work is ongoing with respect to NFSv4.1 client support. The current
code includes functioning support for the required components, in
particular, sessions for both fore and back channels. Development for
the big optional component pNFS is in progress and will hopefully be
functional for the Files layout in a few months. The modified sources
can be found at ... 4.1-client.

There is also a patch for what I call packrats, where threads perform
aggressive on-disk caching of delegated file in the NFSv4.0 client. It
currently seems to function OK, but does not yet have client reboot
recovery implemented, so it can only be used experimentally at this
time. This patch can be found at

System Configuration Utilities


Contact: Devin Teske <>

On December 31st, 2011 sysutils/sysrc was added to the ports-tree. On
January 6th, 2012 sysutils/host-setup was added to the ports-tree.
Still pending is the addition of sysutils/tzdialog.

Together or separately, these utilities try to make configuring the
system easier and more efficient.

sysrc(8) allows you to safely modify rc.conf(5) without fear or
trepidation; making remote-management and scripted changes a simple
transaction. Also useful in managing puppet installations.

host-setup(8) allows you to configure your time zone, hostname, network
interfaces, default router/gateway, DNS nameservers in resolv.conf(5)
all via dialog(1) (or Xdialog(1)) interface. Designed to replace
sysinstall(8), host-setup is written entirely in sh(1) and is
completely stand-alone.

tzdialog(8) is an ISO-3166 compatible sh(1) rewrite of tzsetup(8). It
is designed to be a drop-in replacement for tzsetup. The major
difference between the two is tzdialog(8) adds supports for graphical
user interface via Xdialog(1) (by passing the `-X' argument), whereas
tzsetup(8) only supports console-based interaction.

Open tasks:

1. Write a man-page for tzdialog(8).
2. Submit current tzdialog(8) version (1.1) and yet-to-be completed
man-page to ports-tree as sysutils/tzdialog.

The FreeBSD Foundation Status Report


Contact: Deb Goodkin <>

The most exciting news to report is that we raised $426,000 through our
fundraising efforts. We were overwhelmed by the generosity of the
FreeBSD community. We would like to thank everyone who made a
contribution to FreeBSD by either making a financial donation to the
foundation or volunteering on the Project.

We published our semi-annual newsletter in December. If you have not
already done so, please take a moment to read this publication to find
out how we supported the FreeBSD Project and community during the
second half of 2011. There are also two great testimonials in the
newsletter from TaxiMagic and the Apache Software Foundation.

The Foundation sponsored EuroBSDCon 2011 which was held in The
Netherlands, October 6-9. And, we sponsored six developers to attend
the conference. We sponsored the Bay Area Vendor Summit in November. We
were represented at LISA '11, Dec 7-8 in Boston MA.

We are a proud sponsor of AsiaBSDCon 2012, which will be held in Tokyo,
Japan, March 22-25.

The Foundation funded project Feed-Forward Clock Synchronization
Algorithms Project by the University of Melbourne completed. We
approved two new projects for 2012, they are analyzing the performance
of FreeBSD's IPv6 stack by Bjoern Zeeb, and implementing auditdistd
daemon by Pawel Jakub Dawidek

We purchased more servers and other hardware for the FreeBSD
co-location centers at Sentex, NYI, and ISC.

The work above, as well as many other tasks which we do for the FreeBSD
Project, could not be done without donations. Please help us by making
a donation or asking your company to make a donation. We would be happy
to send marketing literature to you or your company. Find out how to
make a donation at our donate page.

Find out more up-to-date Foundation news by reading our blog and
Facebook page.

The FreeBSD German Documentation Project

URL: ...

Contact: Benedict Reuschling <>
Contact: Johann Kois <>

The German Documentation Project is happy to report that two big
chapters have been translated in the past quarter. The first update is
in the firewall chapter and covering the complete IPFW section. It was
contributed by Christopher J. Ruwe. There were style and language fixes
to be done, but the biggest amount of work, the actual translation, was
done by him. We thank Christopher very much.

The other chapter that was translated is the new bsdinstall chapter.
Benedict Reuschling did the work on this chapter. He tried to keep the
same titles for sections that are mostly describing the same things as
in the sysinstall chapter (at least where this was possible).

German speaking users are encouraged to read both chapters and report
typos or grammar errors back to us so we can fix them.

The German website is being updated on a regular basis.

Open tasks:

1. Catch up with the latest changes made to the documentation.
2. Translate more www pages into German.
3. Find bugs in the German documentation and fix them.

The FreeBSD Japanese Documentation Project


Contact: Hiroki Sato <>
Contact: Ryusuke Suzuki <>

During this period, many part of the outdated contents in the www/ja
subtree were updated to the latest versions in the English counterpart.
The "bsdinstall" section in Handbook was newly translated and the
"cutting-edge" section is now work-in-progress.

Open tasks:

1. Further translation work for outdated documents in both
doc/ja_JP.eucJP and www/ja.

The New CARP

URL: ... ion=228571

Contact: Gleb Smirnoff <>
Contact: Bjoern Zeeb <>
Contact: George Neville-Neil <>

Significantly updated CARP protocol has been committed to head/. I
expect the new code to be easier to maintain and less buggy, since it
uses less hacks in the networking stack.

The new CARP does not bring a lot of new features, however here is a
* One can put a single redundant address on an interface.
* Master/backup state can be switched via ifconfig.
* Feature that demotes carp(4) during pfsync(4) update has been
restored (it was lost in 7.0).
* The overall ifconfig(8) output is now more readable, since
addresses are exactly on the interfaces they are running. Yes, this
is feature, too :)

The code has been developed by glebius@ with lots of help from bz@.

Open tasks:

1. Work on arpbalance/ipbalance features. Since I do not utilize them
at all, first I need to find somebody eager to see these features
and willing to test patches. Sponsoring work is also appreciated.
glebius@ to handle.
2. Estimate whether we need to catch up with OpenBSD on putting
demotion counter into datagrams. glebius@ to handle.
3. Update tcpdump(8) to enable nice printing of CARP packets. gnn@ to
4. Work with IANA to get an official protocol number. gnn@ to handle.

Up to Date X.Org Server


Contact: X11 FreeBSD mailing list <>

The X11 team has started work on the next major update for the X.Org
ports. You might have noticed libraries and proto ports being updated
that belong to the X.Org stack. Currently in our development repository
we have the latest versions of many ports including mesa and

We support versions 1.7.7 and 1.10.4 of the X.Org tree for users with
the appropriate hardware and patches.

We need more testers for both the standard version from xorg-devel and
the WITH_NEW_XORG version. We also need testers for updated input/video
drivers, especially for the less mainstream ones.

In order to test check out our svn repository from ... s/xorg-dev and the
merge script from See
the wiki for more details.

Open tasks:

1. Investigate xorg-server 1.12 which brings xinput 2.2.
2. Merge development repository into the main repository, after more

(c) 1995-2012 The FreeBSD Project. All rights reserved.

Аватара пользователя
Alex Keda
Сообщения: 34976
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: FreeBSD Quarterly Status Report October-December, 2011

Непрочитанное сообщение Alex Keda » 2012-01-28 15:52:33

жаль не по русски, пришлось читать, а не пробежать и прочитать интресное.
Убей их всех! Бог потом рассортирует...