diff --git a/en_US.ISO8859-1/htdocs/news/status/report-2013-04-2013-06.xml b/en_US.ISO8859-1/htdocs/news/status/report-2013-04-2013-06.xml
index b3e2fb2ffa..fbc0b1c5d0 100644
--- a/en_US.ISO8859-1/htdocs/news/status/report-2013-04-2013-06.xml
+++ b/en_US.ISO8859-1/htdocs/news/status/report-2013-04-2013-06.xml
@@ -1,1845 +1,1890 @@
This report covers &os;-related projects between April and June
2013. This is the second of four reports planned for 2013. Thanks to all the reporters for the excellent work! This report
- contains 32 entries and we hope you enjoy reading it.
The deadline for submissions covering between July and September 2013 is not yet decided.
Progress on moving PC-BSD & TrueOS to a "rolling release" is happening quickly. We have implemented our own package repository, fully based on pkg(8), which is updated twice monthly, and are now hosting dedicated freebsd-update(8) systems. In addition to the 9.1-RELEASE ISO images, we have begun to create a 9-STABLE branch as well, using freebsd-update(8) to push out the latest world and kernel binaries on a monthly basis.
We are currently working on an implementation of ZFS Boot Environments for desktops and servers. These users to install updates or experimental versions in separate ZFS clones and select the one to run at boot time, providing an easy way of testing upgrades before deployment.
Recently the &os; wireless networking stack has received updates in the following areas:
Intel VT-d is a set of extensions that were originally designed to allow virtualizing devices. It allows safe access to physical devices from virtual machines and can also be used for better isolation and performance increases. A VT-d driver was developed that implements the busdma(9) interface using the DMA Remap units (DMARs) found in current Intel chipsets. The driver provides reliability and security improvements for the system by facilitating restricted access to main memory from busmastering devices.
It also eliminates bounce buffering (copying) by allocating remapped regions that satisfy a device's access limitations.
With additional work to define a suitable interface the VT-d driver will also provide PCI pass-through functionality for hypervisors.
This project is sponsored by The &os; Foundation.
This project aims to improve scalability of the virtual memory subsystem. Based on a prototype change from Jeff Roberson, per-domain page queues and per-domain pagedaemon working threads have been implemented to enable this. At the moment, the domains coincide with the NUMA proximity domains, but this is not neccessary and could be improved with further separation to allow more parallelism in the pagedaemon.
The patch is relatively simple, with the most delicate parts being the page laundry and OOM logic, which requires coordination between all pagedaemon threads to prevent false triggering.
Testing on diverse workloads and on real multi-socket machines is required.
This project is sponsored by The &os; Foundation.
A hastd(8) module for bsnmpd(1) has been committed to &os; head and merged to stable/8 and stable/9 branches recently. This module makes it possible to monitor and manage hastd(8) via the SNMP protocol.
The &os; 8.4-RELEASE cycle completed on June 7, 2013, approximately two months behind the original schedule. Please be sure to read the Errata Notices for any post-release issues discovered after 8.4-RELEASE.
The &os; 9.2-RELEASE process will begin July 6, 2013. Unless any critical issues arise, &os; 9.2-RELEASE is expected to be available late August or early September.
Users tracking the &os; 9.X branch are encouraged to test the -BETA and -RC builds whenever possible, and provide feedback and report issues to the freebsd-stable mailing list.
VPS for &os; is an OS-level based virtualization implementation that supports advanced features like live migration. It has been recently imported into the Project's Subversion repository as a project branch. The code is currently of alpha quality.
The KDE/&os; Team has continued to improve the experience of KDE software and Qt under &os;. During this quarter, the team has kept most of the KDE and Qt ports up-to-date, working on the following releases:
As a result — according to PortScout — kde@ has 473 ports (up from 431), of which 98.73% are up-to-date (up from 93.5%). iXsystems Inc. continues to provided a machine for the team to build packages and to test updates. iXsystems Inc. has been providing the KDE/&os; Team with support for quite a long time and we are very grateful for that. This quarter, we would also like to thank Steve Wills (swills@) for providing access to another machine so that we can do our work even faster.
While a great deal of the team's efforts are focused towards packaging released code, we also take a proactive stand in making sure future versions of the software we port is also going to work well on &os;. This involves being in close contact with upstream, raising awareness of &os; as an active project and also sending actual patches that most of the time benefit many other operating systems besides &os; itself. In this regard, we have been dedicating a lot of time making sure both clang and libc++ are fully supported in KDE and Qt. Not only has this resulted in many patches being sent to these projects, but the exposure to these large code bases have been beneficial to the Clang-on-&os; project as well. Dimitry Andric (dim@) has been of great help as a point of contact for all the issues we have faced.
As usual, the team is always looking for more testers and porters so please contact us and visit our home page. It would be especially useful to have more helping hands on tasks such as getting rid of the dependency on the defunct HAL project and providing integration with KDE's Bluedevil Bluetooth interface.
The Documentation Project has been using old versions of markup standards until recently when we switched to a real XML toolchain and DocBook 4.5. However, we still depend on obsolete technologies — DSSSL and Jade. DocBook 5.0 provides cleaner markup and some nice new features.
The objective of this project is to upgrade the documentation set to DocBook 5.0 and to find a way to properly render our sources without using DSSSL, since the DSSSL stylesheets are discontinued and cannot render DocBook 5.0. The documentation sources have already been successfully transformed to DocBook 5.0 and updates to the rendering process are under development. The common opinion among &os; developers is that Java is a heavy dependency that should be avoided. This has suggested the transformation of DocBook sources to TeX and use TeX as a rendering backend. There are two ways to do this; the sources can be transformed either directly or through the XSL FO output generated by the stylesheets provided for the DocBook Project. The latter approach has been chosen as a preferred way since it better fits the existing documentation infrastructure and provides easier customization.
This project is generously funded by The &os; Foundation.
Due to non-&os;-related activities from April to end of June, the project progressed slowly:
Several users tested the driver. Andriy Gapon, Jonathan Gray, and Mark Kettenis (of OpenBSD) submitted patches. kyzh kindly donated several discrete cards from different series. A big thanks to all those contributors!
The driver is still not stable enough for a wider call for testers.
The urtwn(4) driver was imported from OpenBSD. This is a driver for very small Realtek USB WiFi cards which are pretty inexpensive and can do 802.11n at the maximum theoretical speed of 150 Mbps. They make a good addition to embedded systems such as the Raspberry Pi and the BeagleBone. The driver requires firmware that is available in the &os; Ports Collection (net/urtwn-firmware-kmod). Note that 802.11n is not yet supported.
As of the end of June, &os;'s ZFS implementation now includes TRIM support in head, stable/9, and stable/8 branches. This allows ZFS to help maintain high performance on flash-based devices such as SSD's even under high-load conditions.
When creating new pools and adding new devices to existing pools it first performs a full-device level TRIM to help ensure optimum starting performance. This behaviour can be overridden by setting the vfs.zfs.vdev.trim_on_init sysctl variable to 0 if for example the disks are new or have already been secure erased, which can also now be done using camcontrol(8) security actions.
In order to support TRIM, the kernel requires the underlying device driver supports BIO_DELETE. This is currently mapped through to hardware methods such as ATA TRIM and SCSI UNMAP, which are commonly supported by SSDs via CAM.
In order to increase the supported hardware base, CAM's SCSI layer was also enhanced to allow ATA TRIM via SATL ATA Passthrough to be used in addition to the existing UNMAP and WS methods. This allows SATA disks attached to SCSI controllers with CAM based drivers such as mps(4) and mpt(4) to provide delete support.
Stats for ZFS TRIM can be monitored by looking at the sysctl variables under kstat.zfs.misc.zio_trim in addition to live GEOM delete stats via the gstat -d command.
This project was sponsored by Multiplay and implemented by Pawel Jakub Dawidek.
The ARM architecture is becoming more and more prevalent, with increasing usage beyond the mobile and embedded space. Among the more interesting industry trends emerging in the recent months, there has been the concept of "ARM server". Some top-tier companies, e.g. Dell and HP, have already started to develop such systems.
Key to success of &os; in these new areas is dealing with the sophisticated features of the platform, for example adding support for superpages.
The objective of this project is to enable &os;/arm to utilize superpages which would allow efficient use of TLB translations (by enlarging TLB coverage), leading to improved performance in many applications and scalability. This is intended to work on ARMv7-based processors, however compatibility with ARMv6 will be preserved.
The following steps have been made since the last status report:
Next steps:
This project is jointly sponsored by The &os; Foundation and Semihalf.
LLDB is the the debugger project in the LLVM family. It supports the Mac OS X, Linux, and &os; platforms, but the latter has recently suffered under a lack of maintenance.
After cleaning bit rot in LLDB's &os; support, it again builds and can be used for basic debugging of single-threaded applications. The test suite also runs to completion, although it experiences a large number of failures.
Ed Maste has been granted an LLDB commit bit, and is now committing ongoing bug fixes and development directly to the upstream repository. There is a significant amount of work still to be done, with one goal being the incorporation of lldb into the base system.
This project is sponsored by DARPA/AFRL in collaboration with SRI International and the University of Cambridge.
The native kernel iSCSI target and initiator project progressed well over the April to June period. The primary focus was to introduce support for iSER (iSCSI over RDMA) in both the initiator and the target. Prerequisite for this was merging some common parts together and implementing a workaround for the lack of iSER support in userspace. Apart from that, there were a myriad of smaller improvements. Such as creating more user-friendly administration utilities, for example iscsictl(8) which displays SCSI device nodes for each iSCSI session. This frees the user from getting the same information through camcontrol(8). There are also improvements in logging and manual pages.
Once the iSER support becomes stable, the work will focus on performance optimizations. The plan is to commit both the new initiator and target in August to allow shipping them in 10.0. The project will continue with implementing support for software iWARP stack (useful mostly for testing and development), SCSI passthrough and various other improvements.
This project is being sponsored by The &os; Foundation.
In the second quarter of 2013, the &os; Postmaster Team has implemented the following items that may be interest of the general public:
Capsicum, lightweight OS capability and sandboxing framework, is being actively worked on. In the last few months the following tasks have been completed:
For Capsicum-based sandboxing in the &os; base system, the commits referenced above and the provided code aim to serve as examples. We would like to see more &os; tools to be sandboxed — every tool that can parse data from untrusted sources, for example. This requires deep understanding of how the tool in question works, not necessarily only Capsicum.
This work is being sponsored by The &os; Foundation.
The &os; Xfce Team has updated its ports to the latest stable releases, especially:
On April 15th Dag-Erling Smørgrav and Xin Li took over as security officers for the &os; Project, and the team welcomed Qing Li back to the team in June. This report briefly summarizes the work of the Security Team from April until the end of June.
The Security Team has released the following advisories:
The Security Team has contributed to the following errata notices:
Per the request of Baptiste Daroussin, the Security Team has also reviewed the source code of Poudriere, the port build and test system which is planned to be used for producing pkg(8) ("new-style") packages on the &os; cluster.
The BSD-Day is a now recurring excuse for BSD developers and users to meet up in person, share some beers and talk about what they are working on these days. There was a detour this year to visit the beautiful city of Naples of Italy, the home of pizza. Fortunately, the event has again gained support from numerous and generous sponsors, such as The &os; Foundation, the EMC Corporation, iXsystems, FreeBSDMall, BSD Magazine, and many others which enabled us to cover the costs of travel and accommodation for the speakers. We are really grateful for this.
Similarly to the previous years, the whole event started with a dinner in the downtown (somewhere around the Irish Pub) on Friday which suddenly turned into a do-it-yourself pizza-fest. Then it was followed by the Saturday event at the Institute of Biostructures and Bioimaging. There we had a lot of attendees for the associated BSDA exam in the morning — 8 persons. The event itself had many interesting topics as well, for example moving MCLinker into the BSD world, organization and culture of the &os; Project, the new callout(9) framework, building and testing ports with Poudriere and Tinderbox, &os; in the embedded space, or building reliable VPN networks with OpenBSD. See the links in the report for more.
During the beginning of this quarter, work focused on making the xorg update as robust and stable as possible in preparation for the merge to ports. As a part of this, ports exp-runs were performed to find and resolve regressions and other issues. Once this was completed, xorg was updated to version 7.7 on May 25, after more than a year of hard work.
After the update, work immediately shifted to focus on updating and patching xorg client libraries, since numerous security issues had been identified in those. Unfortunately, this took a little longer than anticipated, but all fixes were comitted eventually.
There has also been work on making the new xorg distribution the default for &os; 9.1 and later. A patch was sent out and tested with good results, but this is currently postponed because switching virtual terminals is not working with the KMS driver.
Currently, work is focusing on keeping xorg drivers and libraries up to date. Instead of making big updates every year or less, minor updates to some libraries, applications and drivers happen fairly regularly. Focus is also starting to shift towards newer versions of MESA and xorg-server, but this is still very experimental.
We are proud to announce that the &os; Haskell Team has updated the Haskell Platform to 2013.2.0.0, GHC to 7.6.3, as well as updated existing ports to their latest stable versions. In this update, we provided experimental support for LLVM-based code generation (disabled by default) to Haskell ports. We also added a number of new ports, which brings their count in the &os; Ports Collection to 402, and now Haskell ports play nicer with portmaster(8)-based upgrades.
In cooperation with Konstantin Belousov and Dimitry Andric, we have managed to unbreak the build of GHC on 32-bit 10.x systems, so we have packages for 10.x again. However, it turned out that this bug (in thread signal delivery) can also affect the building process for other platforms as well, which explains some of the strange build breakages our users experienced in the past.
We have also learned that there is ongoing work in the GHC upstream which will allow us to provide support for building with Clang natively once GHC 7.8 becomes part of the Haskell Platform.
The V4L2 support in the linuxulator was updated in &os; head. This lets Skype v4 display video.
New utilities have been introduced in &os; base system: bsdconfig(8) and sysrc(8). bsdconfig(8) is a replacement for the post-install abilities of deprecated sysinstall(8), while sysrc(8) is a robust utility for managing rc.conf(5) from the command line without a text editor.
This project is part of Google Summer of Code. Work has only just begun, and the code is in its infancy. The Subversion repository holds experimental code that is actively being developed. Development should be concluded before the end of September, and the project will enter the maintenance phase of its life cycle.
The GNOME 3.6 work is moving along slowly but steadily. Almost all the GNOME 3 desktop ports were updated to their corresponding 3.6 versions.
A big challenge was taken by getting the webkit-gtk3 port updated to 2.0.3. Currently programs using webkit-gtk3 crash on launch. It is hard to find the causes as the debug build of webkit-gtk either runs out of memory or disk space on the developement system used.
&os; Xen HVM can be further improved by using more PV interfaces inside a HVM guest. So far the following items have been completed:
With this changes, &os; will have a complete PVHVM port, this will also set the ground for a future PVH port (when PVH support is merged into Xen).
Further improvements on blkfront and netfront have also been commited:
Netfront changes have been merged to stable branches, blkfront changes are only in head.
Capsicum is a lightweight OS capability and sandboxing framework implemented in &os;. This is still a new technology, so there is a lot of space for improvements. Thanks to the Google Summer of Code program and Pawel Jakub Dawidek for volunteering as mentor, Mariusz will have the chance to work on this project in the summer.
The work on sandboxing the rwho(1) and rwhod(8) utilities was completed recently. There is also a plan to implement two new modules for Casper. Casper is a daemon to provide services for applications using Capsicum's capability mode. Some experimentation with implementing two new capability rights is in progress, so is porting one more program to use the existing features of the Capsicum framework.
We have had a SYN cookie implementation for quite some time now but it has some limitations with current realities for window scaling and SACK encoding the in the few available bits.
This patch updates and improves SYN cookies mainly by:
The common parameters used on TCP sessions have changed quite a bit since SYN cookies were invented some 17 years ago. Today we have a lot more bandwidth which makes use of window scaling almost mandatory. Also SACK has become standard as it makes recovering from packet loss much more efficient.
The original SYN cookies method only stored an indexed MSS value in the cookie. This obviously is not sufficient any more and breaks in the presence of WSCALE. WSCALE information is only exchanged during SYN and SYN-ACK. If we cannot keep track of it then we severely underestimate the available send or receive window, compounded with the fact that with large window scaling the window size information on the TCP segment header would be even lower numerically.
A number of years back, SYN cookies were extended to store the additional state in the TCP timestamp fields, if available on a connection. It has been adopted by Linux as well. While timestamps are common among the BSD, Linux and other Unix systems, Windows never enabled them by default, thus they are not present for the vast majority of clients seen on the Internet.
The new improvement in this patch moves all necessary information into the ISN again, removing the need for timestamps. Both the MSS and send WSCALE are stored in 3 bit indexed form together with a single bit for SACK. While we cannot represent all possible MSS and WSCALE values in only 3 bits each (both are 16-bit fields in the TCP header), it turns out that is not actually necessary.
These improvements allow one to run with SYN cookies only on Internet-facing servers. However while SYN cookies are calculated and sent all the time, they are only used when the syn cache overflows due to attacks or overload. In that case though, you can rest assured that no significant degradation in TCP connection setup happens any more and that even Windows clients can make use of window scaling and SACK.
We started the quarter with our "Raise a Million — Spend a Million" Spring Fundraiser. This was the first of three major fundraisers scheduled for the year. We were pleased to have raised $365,291 by the end of the campaign — May 31. Last year, by the same time, we had raised only $56,196. We have started this year off with a much better fundraising strategy. We want to send a big thank you to everyone out there that has made a donation in 2013. Your early donations have made a significant impact on our fundraising endeavors so far this year.
Some things we accomplished this last quarter are:
In the second quarter of 2013, the Core Team approved a new Security Officer, Dag-Erling Smørgrav and his deputy, Xin Li. The Core Team acknowledges Simon Nielsen, the outgoing Security Officer, for his work in the role. Peter Wemm took the lead on the reorganization and administration of the &os; cluster, and with the Core Team's approval, Glen Barber and Ryan Steinmetz were welcomed to the cluster administration team.
Based on the recommendation and experiences of Martin Wilke, the Core Team also supported establishing a liaison role between port managers and release engineers in order to improve their communication, especially for preparing releases. The Core Team welcomes Bryan Drewery to this role.
Following up on the request from Eitan Adler, the Core Team agreed to remove CVS from the base system, which was soon followed by importing a lightweight version of Subversion tools, implemented by Peter Wemm.
There were src commit bits issued for 3 new developers and 1 existing committer received extension in this quarter.
The purpose of the Newcons project is to provide a new interface for console and video output to graphic devices. This will allow simple drivers access the console and terminal mode early, and framebuffer access for xorg. Drivers will not need embedded font bitmaps, color maps, or mouse cursor bitmaps, as the whole infrastructure will be provided by the vt(4) Newcons driver.
As the project includes Kernel Mode Setting (KMS) integration, one of the goals is support for modern Xorg releases, allowing the kernel to switch back to virtual terminal mode after graphics mode or resolution used with xorg changes.
There are a lot of changes involved in the project. Main tasks include:
The first deliverables of the project, including moused(8), ukbd(4), and KMS support are expected to arrive around the middle or end of August 2013. The whole project is expected to complete in November 2013.
This project is being sponsored by The &os; Foundation.
Many thanks to Ed Schouten who started Newcons project and did most of the work.
The driver is implemented as an extension to the existing MMC + bus, adding a lot of new SDIO-specific bus methods. Getting + information about the card works, including querying all the + supported I/O functions. Simple byte transfers and multi-byte + reads work.
+ +A prototype of the driver for Marvell SDIO WLAN/BT module is + also being developed, using the existing Linux driver as a + reference.
+ + +