diff --git a/en/news/status/report-2010-04-2010-06.xml b/en/news/status/report-2010-04-2010-06.xml index f710cefb17..3b6a02357d 100644 --- a/en/news/status/report-2010-04-2010-06.xml +++ b/en/news/status/report-2010-04-2010-06.xml @@ -1,2236 +1,2244 @@ - + April-June 2010
Introduction

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

Thanks to all the reporters for the excellent work! We hope you enjoy reading.

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

soc Google Summer of Code proj Projects team &os; Team Reports net Network Infrastructure kern Kernel docs Documentation bin Userland Programs arch Architectures ports Ports misc Miscellaneous &os; German Documentation Project Johann Kois jkois@FreeBSD.org Benedict Reuschling bcr@FreeBSD.org Website of the &os; German Documentation Project Mailinglists for the coordination of our work and the place where you can report bugs back to us

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

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

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

Read the translations and report bugs that you have found (even small ones). Translate new parts of the documentation and the website.
Binary package patch infrastructure — pkg_patch Ivan Voras ivoras@FreeBSD.org Wiki page

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

Finish the project. Get some testing for it. Convince portmgr it is actually a Good Thing to have even as an experimental feature. Agree upon the policy on which package patches will be created (i.e. from which point in time to which point in time), assuming the "stable" package tree idea has still not gotten traction.
Interrupt Threads John Baldwin jhb@FreeBSD.org

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

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

BSDL iconv in base system Gábor Kövesdán gabor@FreeBSD.org The latest patch for the base system

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

Run a portbuild test and solve possible problems that show up.
BSDL grep in base system Gábor Kövesdán gabor@FreeBSD.org Sources in Perforce

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

Investigate and fix some minor issues.
Collective resource limits (aka jobs) Gábor Kövesdán gabor@FreeBSD.org Project page on the wiki Sources in Perforce

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

-

I spent most of the time getting familiar with studying how +

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

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

Fix the showstopper bug, which prevent me working on actual limit enforcement. Implement limit enforcements for all of the limits supported by IRIX. Add support for userland facilities and make utilities jobs-aware, like showing jobs in ps(1), etc.
The &os; Spanish Documentation Project Gábor Kövesdán gabor@FreeBSD.org Vicente Carrasco Vayá carvay@FreeBSD.org Primer for translators

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

Review and update existing translations.
Kernel event timers infrastructure Alexander Motin mav@FreeBSD.org

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

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

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

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

+ boot and sysctls in run-time (kern.eventtimer, ...).

Most of the code was recently committed to HEAD. Now it is used by i386 and amd64 architectures.

Troubleshoot possible hardware and software issues. Port other architectures to the new infrastructure. Implement tickless kernel, utilizing new features, such as per-CPU and one-shot timers.
The &os; Hungarian Documentation Project Gábor Kövesdán gabor@FreeBSD.org Gábor - áli + Páli pgj@FreeBSD.org Hungarian &os; web pages Hungarian &os; documentation The &os; Hungarian Documentation Project's Wiki Page Perforce Deport for the &os; Hungarian Documentation Project

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

Review translations and send feedback. Translate release notes. Add more article translations.
&os; Haskell Gábor Páli pgj@FreeBSD.org Giuseppe Pilichi jacula@FreeBSD.org Ashish Shukla ashish@FreeBSD.org Wiki Page of the Project &os; Haskell Ports The freebsd-haskell Mailing List

Our efforts on porting the generalized, general-purpose purely functional programming language, Haskell has rallied, since two new committers, Giuseppe Pilichi and Ashish Shukla joined recently, forming the &os; Haskell Team. Over the last months, &os;/i386 and &os;/amd64 have become Tier-1 platforms, featuring officially supported vanilla binary distributions for the Glasgow Haskell Compiler starting from version 6.12.1. We introduced a unified ports infrastructure for Haskell Cabal ports, which also makes possible the direct - translation f Cabal package descriptions to &os; ports. + translation of Cabal package descriptions to &os; ports. The number of Haskell package ports increases steadily.

Improve support for Haskell Cabal packages and their translation. Create a port for Haskell Platform. Add more Haskell package ports. Test and send feedback.
libnetstat(3) - Gábor - Páli + Gábor + Páli pgj@FreeBSD.org Aman Jassal aman@FreeBSD.org Wiki Page Patches - + Perforce Depot (SoC 2009)

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

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

Review the sources. Pick a task from the list, and send patches. Comment the patches, help them to improve.
ZFS Pawel Jakub Dawidek pjd@FreeBSD.org Martin Matuska mm@FreeBSD.org Xin Li delphij@FreeBSD.org &os; ZFS Wiki Latest &os; ZFS development tree

The ZFS file system has been updated to version 15 on -HEAD and will be MFCed to 8-STABLE around September 13th, 2010. Wwork is ongoing on porting the recent ZFS version 26 with deduplication functionality.

Fix bugs, unresolved issues and #TODO's in perforce.
Flattened Device Tree for embedded &os; Rafal Jaworowski raj@semihalf.com Project wiki pages

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

Current state highlights:

Work on this project was sponsored by the &os; Foundation.

Improve howto and guidelines for new adopters (how to convert to FDT and so on). Migrate more existing embedded &os; platforms (ARM, MIPS) to FDT approach.
The &os; Japanese Documentation Project Hiroki Sato hrs@FreeBSD.org Ryusuke Suzuki ryusuke@FreeBSD.org Japanese &os; Web Pages The &os; Japanese Documentation Project's Web Page

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

More Japanese translation of &os; Handbook and contents of www.FreeBSD.org. Pre-/post-commit review of the translation.
Google Summer of Code 2010 Brooks Davis brooks@FreeBSD.org Tim Kientzle kientzle@FreeBSD.org Robert Watson rwatson@FreeBSD.org Summer of Code 2010 Projects

We are once again participating in the Google Summer of Code. This is our 6th year of participation and we hope to once again see great results from our 18 students. Coding officially began May 24th and we are in the middle of the mid-term evaluation period. - You can see and comment on weekly status reports on - soc-status@FreeBSD.org or in the wiki.

+ You can see and comment on weekly status reports on the mailing + list or on the wiki.

Jail based virtualization Bjoern A. Zeeb bz@FreeBSD.org &os; Foundation Announcement Perforce Workspace

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

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

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

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

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

Merge stabilised change sets. Work further down the network stack freeing all resources for - stable, save teardown. + a stable, safe teardown.
Ports Collection Thomas Abthorpe portmgr-secretary@FreeBSD.org Port Management Team portmgr@FreeBSD.org

A significant part of quarter two was spent coordinating efforts for inclusion of Xorg 7.5, KDE4, Gnome2, plus preparation of ports for the 8.1 release process. Due to the success of enforcing Feature Safe ports commits during the 7.3-RELEASE, it was continued for the recent src/ freeze.

-

The ports count approaches 22,000 ports. The open PR count +

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

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

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

The Ports Management team have been running -exp runs on an ongoing basis, verifying how src code updates may affect the ports tree, as well as providing QA runs for major ports updates. Of note -exp runs were done for; ale's update of math/gmp; delphij's changes to Mk/bsd.ldap.mk; gahr's inclusion of USE_GL=glew; pgollucci's changes to Mk/bsd.*apache.mk plus updates to devel/apr and www/apache*; testing of x11/xorg, x11/gnome, x11/kde4 and lang/mono; a test run make fetch run; a test run for deve/gettext; mm's inclusion of USE_XZ; and ale's request to switch default mysql from 5.0-EOL to 5.1-GA.

alepulver's SoC Licensing Framework project has made it into the tree and portmgr is currently assessing the fallout and will come up with guidelines and documentation in due time.

Looking for help fixing ports broken on CURRENT. Looking for help with Tier-2 architectures. Most ports PRs are assigned, we now need to focus on testing, committing and closing.
&os;/powerpc64 Nathan Whitehorn nwhitehorn@FreeBSD.org Install CDs for powerpc64

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

Currently supported hardware:

&os; on the Sony Playstation 3 Nathan Whitehorn nwhitehorn@FreeBSD.org Playstation 3 SVN repository

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

OpenAFS port Benjamin Kaduk kaduk@mit.edu Derrick Brashear shadow@gmail.com OpenAFS home page &os; port for the OpenAFS 1.5.75 release

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

There are several known outstanding issues that are being worked on, but detailed bug reports are welcome at port-freebsd@openafs.org.

Fix the {get,put}pages vnode operations for more reliable mmap operation. Update VFS locking to allow the use of disk-based client caches as well as memory-based caches. Track down races and deadlocks that appear under load. Integrate with the bsd.kmod.mk kernel-module build infrastructure.
Package management library - libpkg David Forsythe dforsyth@FreeBSD.org Wiki page Main project page

Libpkg will allow for fairly fine grained control over package management.

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

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

General Purpose DMA Framework Jakub Klama jceel@FreeBSD.org Project description on &os; wiki Project branch on P4

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

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

Add support for more DMA engines. Complete, clean up and merge with HEAD.
Making ports work with clang Andrius Morkunas hinokind@gmail.com GSoC2010 patches All patches for ports

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

Some patches were written to get ports to work with clang, and a lot of old patches written prior to the GSoC project were updated. There are still a lot of broken ports and some that cannot be built because of clang/llvm bugs, but at this point, clang can build most ports.

Fix broken ports that do not work with clang. Test patched ports with clang, report clang bugs.
The &os; Foundation Status Report Deb Goodkin deb@FreeBSDFoundation.org

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

The Foundation and Core Team held a summit on BSD licensed toolchains at BSDCan 2010.

We officially kicked off five new projects that we are funding. They are BSNMP Improvements by Shteryana Shopova, Userland Dtrace by Rui Paulo, &os; jail based virtualization by Bjoern Zeeb, DAHDI &os; driver port by Max Khon, and Resource Containers project by Edward Napierala.

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

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

Our semi-annual newsletter will be published soon. Check out our website to find out more!

GEOM-based pseudo-RAID implementation — geom_pseudoraid Boris Kochergin spawk@acm.poly.edu Code snapshot

The old ata(4) driver is believed to be going away sometime in - the future, to be replaced with ATA_CAM [ - 1]. However, ATA pseudo-RAID support in &os;, ataraid(4), is + the future, to be replaced with ATA_CAM + [1]. + However, ATA pseudo-RAID support in &os;, ataraid(4), is implemented as part of said ata(4) driver, which means that it, too, will be going away. It was decided that pseudo-RAID support is - desirable and that it should be reimplemented in GEOM [ - 2][ - 3], which this project aims to do.

+ desirable and that it should be reimplemented in GEOM + [2] + [3], + which this project aims to do.

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

A major setback for the current code is that it uses the device(9) family of functions to identify ATA pseudo-RAID controllers and constructs arrays based on that information. Unfortunately, ATA_CAM does not appear to add its devices to the device tree, so that tactic cannot be used with ATA_CAM. While this is fine for development of the actual RAID parts of the code, the project will be somewhat useless in the absence of the old ata(4) driver. There has been talk of exporting PCI information to GEOM - [ - 4][ - 5], but the work does not appear to have been completed - yet.

+ [4] + [5], + but the work does not appear to have been completed yet.

Obtain documentation for or reverse-engineer metadata formats for which there is no write support in the ataraid(4) driver (for example, Adaptec HostRAID). Add CAM support for exporting PCI information to GEOM.
&os;/avr32 Oleksandr Tymoshenko gonzo@FreeBSD.org

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

GPIO framework Luiz Otavio O Souza loos.br@gmail.com Oleksandr Tymoshenko gonzo@FreeBSD.org

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

Framework is used in Alexandr Rybalko's port of &os; to D-Link DIR-320 and in Luis Ottavio O Souza's work of bringing &os; to RouterBoard.

Chromium web browser Ruben chromium@hybridsource.org Main chromium site PR for chromium port

Chromium is a Webkit-based web browser that is largely BSD licensed. It works very well on &os; and supports new features like HTML 5 video. I have been offering subscriptions to fund the porting effort to &os;: we are up to 20+ paying subscribers after 3 months, I would like to get that up to 100. This effort uses a new hybrid-source model, where the &os; patches are largely kept closed for a limited time. I have submitted the stable release of Chromium to ports, it is ready to be committed pending final legal approval by the &os; Foundation. I would like to use this new hybrid model detailed at hybridsource.org for more &os;-related projects: contact me if you have an idea or project that you would like to try with this hybrid model.

ExtFS Status Report Zheng Liu gnehzuil@gmail.com

This project has two goals: preallocation algorithm and ext4 read-only mode.

The aim of preallocation algorithm is to implement a reservation window mechanism. Now this mechanism has been introduced. The - performance comparison can be found at wiki - page.

+ performance comparison can be found on the wiki.

The aim of ext4 read-only mode is to make it can read ext4 file system in read-only mode when the hard disk is formatted with default - features. Now it can support some features, such as extents, - huge_file. Others features will be supported, such as dir_index, + features. Currently it only supports a few features, such as extents, + huge_file. Others features will be added, such as dir_index, uninit_bg, dir_nlink, flex_bg and extra_isize. My work resides in extfs and ext4fs branch of Perforce.

Distributed Audit Sergio Ligregni ligregni@FreeBSD.org - + Perforce repository Project Wiki

90% of the functionality is working, the daemons sync two systems in a master-slave paradigm.

Standardize the code to meet &os; requirements. Implement SSL in network communication. Perform security improvements/bug fixing, strlxxx functions, memcpy instead of strcpy when using non char variables. Integrate with current Audit subsystem.
File system changes notification Ilya Putsikau iputsikau@gmail.com -

Project aim is to implement inotify compatible file system +

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

Add access permissions checks. - Port inotify test cases. Fix compatibility issues. + Port inotify test cases. + + Fix compatibility issues. Add linuxulator support.
Resource Containers Edward Tomasz Napierała trasz@FreeBSD.org

As of now, &os; only offers very rudimentary resource controls - resource limits for many resources (e.g. SysV IPC) are missing, and there is no way to set resource limits for Jails. As a result, users who want to run many different workloads on a single physical machine often have to replace Jails with several &os; instances - running in virtual machines. The goal of this project is to - implement resource containers and a simple per-jail resource limits - mechanism. Resource containers are also a prerequisite for other - resource management mechanisms, such as Hierarchical Resource - Limits, for "Collective limits on set of processes (a.k.a. jobs)" - GSoC 2010 project, for implementing mechanism similar to Linux - cgroups, and might be also used to e.g. provide precise resource - usage accounting for administrative or billing purposes.
- This project is being sponsored by the &os; Foundation.

+ running in virtual machines.

+ +

The goal of this project is to implement resource containers + and a simple per-jail resource limits mechanism. Resource + containers are also a prerequisite for other resource management + mechanisms, such as Hierarchical Resource Limits, for + "Collective limits on set of processes (a.k.a. jobs)" GSoC 2010 + project, for implementing mechanism similar to Linux cgroups, + and might be also used to e.g. provide precise resource usage + accounting for administrative or billing purposes.

+ +

This project is being sponsored by The &os; Foundation.

Namecache improvements — dircache Gleb Kurtsou gk@FreeBSD.org

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

&os; Services Control — fsc Tom Rhodes trhodes@FreeBSD.org

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

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

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

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

-

TODO: Testing. I would like to hear how it works in various - environments, get code review, and perhaps some ideas on the rc.d - integration. Also, I need to update the manual pages.

+ + Testing. I would like to hear how it works in various + environments. + Code review. + Other ideas on the rc.d integration.Update the manual pages. +
Enhancing the &os; TCP Implementation Lawrence Stewart lstewart@FreeBSD.org

SIFTR was recently imported into the &os; "head" svn branch (a.k.a. 9-CURRENT) and will be back-ported to 8-STABLE in time to be included in 8.2-RELEASE. Please try it out and let me know if you run into any problems.

TCP reassembly queue autotuning will be ready for public testing within the next week and will be committed soon after. It too will be back-ported to 8-STABLE after an appropriate burn in period.

- Solicit external testing for and commit reassembly queue + Solicit external testing for and commit the reassembly queue autotuning patch.
Packet capturing stack — ringmap Alexander Fiveg afiveg@FreeBSD.org Project-Page on Google Code Slides

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

In the context of GSOC-2010:

Porting ringmap to 10GbE (integrating with ixgbe driver). Porting the entire ringmap code from -CURRENT to -STABLE. Evaluation tests. Documentation.
&os;/sparc64 Marius Strobl marius@FreeBSD.org

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

Support for Fujitsu (Siemens) PRIMEPOWER 250 based on SPARC64 V CPUs has been added. PRIMEPOWER 450, 650 and 850 likely also work but have not been tested. This also means that the building blocks for support of machines based on SPARC64 VI and VII CPUs like the Fujitsu/Sun SPARC Enterprise Mx000 series are now in place. Access to such machines would be appreciated.

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

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

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

Someone adding support for 64-bit SPARC V9 to Clang/LLVM and getting it on par with GCC would be appreciated.
New system installer — pc-sysinstall Kris Moore kris@pcbsd.org M. Warner Losh imp@FreeBSD.org Initial commit message + + BSDCan slides

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

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

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

DAHDI/&os; project Max Khon fjoe@samodelkin.net Project Status

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

DAHDI (Digium/Asterisk Hardware Device Interface) is an open-source device driver framework and a set of HW drivers for E1/T1, ISDN digital and FXO/FXS analog cards (http://www.asterisk.org/dahdi/). Asterisk is one of the most popular open-source software PBX solutions (http://www.asterisk.org/).

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

-

The project is nearing its completion: DAHDI framework and HW +

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

V4L support in Linux emulator J.R. Oldroyd fbsd@opal.com

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

The code is still only in -current. We were going to MFC it to 8.x but ran into the code freeze for 8.1, so missed that. However, the code does work on 8-stable. We will try to get it MFC'd for 8.2.

Clang replacing GCC in the base system Ed Schouten ed@FreeBSD.org Roman Divacky rdivacky@FreeBSD.org Brooks Davis brooks@FreeBSD.org Pawel Worach pawel.worach@gmail.com

In the past quarter we imported clang into &os; and it is being built by default on i386/amd64/powerpc. We have not yet commited - the necessary changes to let the world compile with clang.

+ the necessary changes to let world compile with clang.

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

+ import (unknown pragmas, warnings, etc.).

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

Import of newer LLVM/clang into HEAD. Help with ARM/Mips/Sparc64. Start pushing src patches into HEAD. More testing of clang on 3rd party apps (ports). - More work on ELF writer. + More work on the ELF writer.
FreeBSD Bugbusting Team Gavin Atkinson gavin@FreeBSD.org Mark Linimon linimon@FreeBSD.org Remko Lodder remko@FreeBSD.org Volker Werth vwe@FreeBSD.org &os; Support page Resources and documentation available for Bugbusting Information on Bugathons Links to all of the auto-generated PR reports PRs recommended for committer evaluation by the bugbusting team PRs considered easy by the bugbusting team Summary Chart of &os; PRs

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

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

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

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

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

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

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

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

Plan and manage the bugathon in August, and get as many people as possible interested in participating. Try to find ways to get more committers helping us with closing PRs that the team has already analyzed.
BSDCan Dan Langille dvl@FreeBSD.org BSDCan 2010

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

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

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

I need people to help with various pre-conference tasks: website updates, booking travel, etc.
- meetBSD 2010 -- The BSD Conference + meetBSD 2010 — The BSD Conference meetBSD Information info@meetbsd.org

meetBSD 2010 took place on July 2-3 in Krakow, Poland at the Faculty of Mathematics and Computer Science building of the Jagiellonian University.

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

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

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

We hope you enjoyed the event and had great time in Krakow. See you again soon!