From owner-svn-doc-head@FreeBSD.ORG Fri Jul 18 12:55:51 2014
Return-Path: The so-called "CUSE4BSD" has been imported into the base
system of &os;-11. CUSE is short for character device in
- userspace. The CUSE library is a wrapper for the devfs(8)
- kernel functionality which is exposed through /dev/cuse. In
- order to function, the CUSE kernel code must either be enabled
- in the kernel configuration file or loaded separately as
- a module. Follow the commit message link to get more
- information.
+ userspace. The CUSE library is a wrapper for the
+ devfs(8) kernel functionality which is exposed
+ through /dev/cuse. In order to function, the CUSE kernel code
+ must either be enabled in the kernel configuration file or
+ loaded separately as a module. Follow the commit message link
+ to get more information.
The &os; RPC stack, used as a base for its NFS server, received
- multiple optimizations to improve performance and SMP
- scalability. Algorithmic optimizations reduced
- processing overhead, while improved locking allowed it to
- scale up to at least 40 processor cores without significant
- lock congestion. Combined with some other kernel
- optimizations, the peak NFS request rate increased
- by many times, reaching up to 600K requests per second on
- modern hardware. The &os; RPC stack, used as a base for its NFS server,
+ received multiple optimizations to improve performance and SMP
+ scalability. Algorithmic optimizations reduced processing
+ overhead, while improved locking allowed it to scale up to at
+ least 40 processor cores without significant lock congestion.
+ Combined with some other kernel optimizations, the peak NFS
+ request rate increased by many times, reaching up to 600K
+ requests per second on modern hardware. The CAM Target Layer (CTL), used as base for new kernel iSCSI
- server, also received a series of locking optimizations which allowed
- its peak request rate to increase from ~200K to ~600K IOPS
- with the potential of reaching a rate of 1M requests per second.
- That rate is sufficient to completely saturate 2x10Gbit
- Ethernet links with 4KB requests. For comparison, the port of
- net/istgt (user-level iSCSI server) on the same hardware with
- an equivalent configuration showed only 100K IOPS.
There is also ongoing work on improving CTL functionality. - It was already made to support three of four VMware VAAI storage - acceleration primitives (net/istgt supports 2), while the goal - is to reach full VAAI support during next months.
- -With all these improvements, and earlier improvements in CAM, GEOM, ZFS, - and a number of other kernel areas coming soon, FreeBSD 10.1 may - become the fastest storage release ever. ;)
+ It was already made to support three of four VMware VAAI + storage acceleration primitives (net/istgt supports + 2), while the goal is to reach full VAAI support during next + months. + +With all these improvements, and earlier improvements in CAM, + GEOM, ZFS, and a number of other kernel areas coming soon, + FreeBSD 10.1 may become the fastest storage release ever. + ;)
These projects are sponsored by iXsystems, Inc.
@@ -262,8 +263,7 @@Since the last report, - vt(4) gained the ability to make early driver selection. - vt(4) selects the best successfully-probed driver before - most other kernel subsystems. Also, to make easy migration from + vt(4) gained the ability to make early driver + selection. vt(4) selects the best + successfully-probed driver before most other kernel + subsystems. Also, to make easy migration from syscons(4) to vt(4), multiple virtual terminal subsystems in the kernel are now supported. It is controlled by a small module with just one kernel environment - variable. Users can select the virtual terminal system to use by setting kern.vty=sc or - kern.vty=vt.
+ variable. Users can select the virtual terminal system to use + by setting kern.vty=sc or kern.vty=vt.The GENERIC kernel configuration for the amd64 and i386 - platforms now includes both syscons(4) and vt(4) - by default. This configuration is also planned to be in the - next 10-STABLE release and &os; 10.1-RELEASE.
- -The project finally received a man page, so now vt(4) is not - only the project name, but also a link to its documentation. Great - thanks to &a.wblock; for that.
+ platforms now includes both syscons(4) and + vt(4) by default. This configuration is also planned + to be in the next 10-STABLE release and + &os; 10.1-RELEASE. + +The project finally received a man page, so now + vt(4) is not only the project name, but also a link + to its documentation. Great thanks to &a.wblock; for + that.
Major highlights:
@@ -395,31 +398,26 @@The ports-mgmt/poudriere-devel port is aware of how to build - ports via an emulator. Configuration of the miscellaneous - binary image activator is required prior to a poudriere-devel - run.
+The ports-mgmt/poudriere-devel port is aware of how + to build ports via an emulator. Configuration of the + miscellaneous binary image activator is required prior to a + poudriere-devel run.
ARMV6, MIPS32 and MIPS64 packages can be produced via full emulation. There are several packages that block a full run - of builds. They can be viewed on the "Status of ports building" - link.
+ of builds. They can be viewed on the "Status of ports + building" link.On current or latest stable/10:
-Clone the github repository, and switch to the bsd-user branch. Then - run:
+Clone the github repository, and switch to the bsd-user + branch. Then run:
./configure --static \
--target-list="arm-bsd-user i386-bsd-user \
@@ -429,8 +427,8 @@
gmake; gmake install
-Then set up the binmiscctl tools to do some evil hackery to - redirect execution of armv6 binaries to qemu:
+Then set up the binmiscctl tools to do some evil + hackery to redirect execution of armv6 binaries to qemu:
binmiscctl add armv6 --interpreter \
"/usr/local/bin/qemu-arm" --magic \
@@ -463,9 +461,10 @@
The EFI framebuffer requires the vt(4) system console — - a framebuffer driver is not implemented for the legacy - syscons(4) console. Ed added automatic vt(4) selection to the - UEFI boot path.
+The EFI framebuffer requires the vt(4) system + console — a framebuffer driver is not implemented for + the legacy syscons(4) console. Ed added automatic + vt(4) selection to the UEFI boot path.
Snapshots are now built as dual-mode images, and should boot - via BIOS and UEFI. Our plan is to merge the UEFI and vt(4) - work to stable/10 to appear in &os; 10.1-RELEASE.
+ via BIOS and UEFI. Our plan is to merge the UEFI and + vt(4) work to stable/10 to appear in &os; + 10.1-RELEASE.In May, a new release policy was published and presented at the BSDCan developer conference by John Baldwin. - The idea is that each major release branch (for example, 10.X) is - guaranteed to be supported for at least five years, but + The idea is that each major release branch (for example, 10.X) + is guaranteed to be supported for at least five years, but individual point releases on each branch, like 10.0-RELEASE, will be issued at regular intervals and only the latest point release will be supported.
@@ -754,7 +750,7 @@The goal of this work is to enable &os; as a fully supported compute host for OpenStack using OpenContrail virtualized - networking. The main areas of development are:
+ networking. The main areas of development are:The &os; Foundation is a 501(c)(3) non-profit organization dedicated to supporting and promoting the &os; Project - and community worldwide. Most of the funding is used to + and community worldwide. Most of the funding is used to support &os; development projects, conferences and developer summits, purchase equipment to grow and improve the &os; infrastructure, and provide legal support for the Project.
-We published our third issue of the &os; Journal. We have - over 2700 subscriptions so far. We continued working on the +
We published our third issue of the &os; Journal. We have + over 2700 subscriptions so far. We continued working on the digital edition, which will allow subscribers to read the magazine in different web browsers, including those than run - on &os;. This will be available for the July/August issue of + on &os;. This will be available for the July/August issue of the Journal.
We hired Anne Dickison, on a freelance basis, as our new @@ -828,22 +824,22 @@
The annual board meeting was held in Ottawa, Canada, in May. Directors and officers were elected, and did some long term - planning. We worked on our vision, core values, project road - mapping, and our near term goals. We also met with the core + planning. We worked on our vision, core values, project road + mapping, and our near term goals. We also met with the core team to discuss roles and responsibilities, project roadmapping, and what we can do to help the Project more.
We were a Gold+ sponsor for BSDCan, May 16-17 and provided - 7 travel grants for developers to attend the conference. We + 7 travel grants for developers to attend the conference. We also were the sponsor for both the developer and vendor summits.
Justin Gibbs gave a &os; presentation at a &os; user's - internal technology summit. Company visits like this help + internal technology summit. Company visits like this help users understand the Project structure better and gives us a chance to communicate what &os; people are working on as well as learn what different companies are doing with &os;, as - well as what they'd like to see supported. We can then help + well as what they'd like to see supported. We can then help facilitate collaboration between the companies and &os; developers.
@@ -852,8 +848,8 @@ (texaslinuxfest.org), and SouthEast LinuxFest, June 20-22 (southeastlinuxfest.org). -Hardware was purchased to support an upgrade at Sentex. A new - high capacity 1Gbps switch was deployed to allow for more +
Hardware was purchased to support an upgrade at Sentex. A + new high capacity 1Gbps switch was deployed to allow for more systems to be added to the test lab. The main file server and development box was upgraded to allow more users in the lab simultaneously.
@@ -897,10 +893,10 @@ be included in &os; 10.1.Work continues on the Foundation-sponsored autofs automount - daemon, UEFI boot support, the updated vt(4) system video - console, virtual machine images, and the Intel graphics driver - update. Foundation-sponsored work resulted in - 226 commits to &os; over the April to June period.
+ daemon, UEFI boot support, the updated vt(4) system + video console, virtual machine images, and the Intel graphics + driver update. Foundation-sponsored work resulted in 226 + commits to &os; over the April to June period. @@ -918,23 +914,21 @@SDIO is an interface designed as an extension of the existing SD card standard, which allows the connecting of different - peripherals to the host with a standard SD controller. Peripherals - currently sold on the general market include WLAN/BT modules, - cameras, fingerprint readers, and barcode scanners. - Additionally, SDIO is used to connect some peripherals in - products like Chromebooks and Wandboard. A prototype of the - driver for the Marvell SDIO WLAN/BT (Avastar 88W8787) module - is also being developed, using the existing Linux driver as - the reference.
+ peripherals to the host with a standard SD controller. + Peripherals currently sold on the general market include + WLAN/BT modules, cameras, fingerprint readers, and barcode + scanners. Additionally, SDIO is used to connect some + peripherals in products like Chromebooks and Wandboard. A + prototype of the driver for the Marvell SDIO WLAN/BT (Avastar + 88W8787) module is also being developed, using the existing + Linux driver as the reference.SDIO card detection and initialization already work, most needed bus methods are implemented and tested.
@@ -942,17 +936,18 @@The WiFi driver is able to load firmware onto the card and initialize it. A rewrite of the MMC stack as a transport layer for the CAM framework is in progress. This will allow - utilization of the well-tested CAM locking model and debug features.
+ utilization of the well-tested CAM locking model and debug + features.Fiasco.OC belongs to the L4 microkernel family. A microkernel - provides a bare minimum of services to the applications - running on top of it, unlike traditional kernels that - incorporate complex code like IP stacks and device drivers. - This allows a dramatic decrease in the amount of code - running in the privileged mode of the CPU, achieving higher - security while still providing an acceptable level of +
Fiasco.OC belongs to the L4 microkernel family. A + microkernel provides a bare minimum of services to the + applications running on top of it, unlike traditional kernels + that incorporate complex code like IP stacks and device + drivers. This allows a dramatic decrease in the amount of + code running in the privileged mode of the CPU, achieving + higher security while still providing an acceptable level of performance.
Running an operating system kernel on top of the microkernel allows leveraging any software that was developed for that - operating system. The OS kernel runs in user-mode side-by-side - with other microkernel applications such as real-time - components. Multiple OSes, each with their userland + operating system. The OS kernel runs in user-mode + side-by-side with other microkernel applications such as + real-time components. Multiple OSes, each with their userland applications, can even be run in parallel, thus allowing construction of products where processing of corporate data is strictly separated from the processing of private data.
The project aims to create a port of &os; to the Fiasco.OC microkernel, a high performance L4 microkernel - developed by TU Dresden. Existing ports of OpenBSD and - Linux are used as a reference. This will allow the use of + developed by TU Dresden. Existing ports of OpenBSD and + Linux are used as a reference. This will allow the use of unique &os; features like ZFS in L4-based projects.
pkg(8) is the new package management tool for &os;. It - is now the only supported package management tool for &os; +
pkg(8) is the new package management tool for &os;. + It is now the only supported package management tool for &os; releases from 10.0-RELEASE, including the upcoming - 9.3-RELEASE. pkg(8) is available on all currently supported - releases. Support for the legacy pkg_tools is due to be - discontinued at the beginning of September 2014.
- -The release of pkg(8) 1.3 is imminent. This includes major - improvements in the dependency solver. Now we can:
+ 9.3-RELEASE. pkg(8) is available on all currently + supported releases. Support for the legacy pkg_tools is due + to be discontinued at the beginning of September 2014. + +The release of pkg(8) 1.3 is imminent. This + includes major improvements in the dependency solver. Now we + can:
There are plans to use pkg(8) to package up the base system. - Along with other benefits, this will allow writing a universal - installer: download one installer image and from +
There are plans to use pkg(8) to package up the base + system. Along with other benefits, this will allow writing a + universal installer: download one installer image and from there install any available version of &os;, including snapshots.
-We are also intending to use pkg(8) within the ports tree at - package-build time to handle fulfilling build dependencies. - This opens the possibility of installing build-dependencies by - downloading binary packages, which means you can install - a package with customized options with the minimum amount of - time spent compiling anything else.
+We are also intending to use pkg(8) within the ports + tree at package-build time to handle fulfilling build + dependencies. This opens the possibility of installing + build-dependencies by downloading binary packages, which means + you can install a package with customized options with the + minimum amount of time spent compiling anything else.
We were generally short on time this quarter. We made less progress than expected on all fronts.
-The alternate pkg(8) repository, built with WITH_NEW_XORG, is - now available. This alleviates the need for users to rebuild - their ports with WITH_NEW_XORG. See the announcement, linked - above for further information.
+The alternate pkg(8) repository, built with + WITH_NEW_XORG, is now available. This alleviates the need for + users to rebuild their ports with WITH_NEW_XORG. See the + announcement, linked above for further information.
Thanks to a contribution from Jan Kokemüller, Radeon 32bit - ioctls are now working on 64bit hosts. This was tested + ioctls are now working on 64bit hosts. This was tested successfully with Wine and StarCraft II on &os; 9.x and 11. - This required modifications to emulators/i386-wine-devel so - that it works with WITH_NEW_XORG, and the creation of a new - port, libtxc_dxtn, to support texture compression required by - StarCraft II. We haven't yet had the time to polish + This required modifications to + emulators/i386-wine-devel so that it works with + WITH_NEW_XORG, and the creation of a new port, + libtxc_dxtn, to support texture compression required + by StarCraft II. We haven't yet had the time to polish everything, so this still requires manual steps.
The DRM generic code update is ready, but it breaks the - current i915 driver. Therefore, the i915 driver must be + current i915 driver. Therefore, the i915 driver must be updated before anything is committed.
-Compared to the previous status report, OpenCL test programs are - running fine now, thanks to upgrades and fixes to libc++ and - Clang. Relevant ports are still not ready to hit the ports - tree, unfortunately.
+Compared to the previous status report, OpenCL test programs + are running fine now, thanks to upgrades and fixes to libc++ + and Clang. Relevant ports are still not ready to hit the + ports tree, unfortunately.
Extensive testing of tmpfs(5) using the stress2 kernel test - suite was done. The issues found were debugged and fixed.
+Extensive testing of tmpfs(5) using the stress2 + kernel test suite was done. The issues found were debugged + and fixed.
Most of the problems are related to the bugs in the - interaction of vnode and node lifetime, culminating in e.g. + interaction of vnode and node lifetime, culminating in e.g., unmount races and dotdot lookup bugs.
This project is sponsored by the FreeBSD Foundation.
@@ -1367,7 +1353,7 @@ZFSguru is a multifunctional server appliance with a strong - emphasis on storage. ZFSguru began as simple web-interface + emphasis on storage. ZFSguru began as simple web-interface frontend to ZFS, but has since grown into a &os; derivative with its own infrastructure. The scope of the project has also grown with the inclusion of add-on packages that add @@ -1375,53 +1361,54 @@ in similar product like FreeNAS and NAS4Free. ZFSguru aims to be a true multifunctional server appliance that is extremely easy to setup and can unite both novice and more experienced - users in a single user interface. The modular nature of the + users in a single user interface. The modular nature of the project combats the danger of bloat, whilst still allowing extended functionality to be easily deployed.
Where development in the first quarter of this year brought drag-and-drop permissions for Samba and NFS, development in the second quarter focused on strengthening the infrastructure - of the project. A new library and toolkit solution dubbed + of the project. A new library and toolkit solution dubbed 'Mesa' is in the works, providing a cleaner foundation to the - project. A new master server providing secure remote services - is being setup, to be located in a high-speed datacenter. But + project. A new master server providing secure remote services + is being setup, to be located in a high-speed datacenter. But most importantly, a new system build infrastructure has shown great progress and will soon be able to provide automated - system builds to our users. This not only improves the + system builds to our users. This not only improves the frequency of system releases but also frees much developer time to be spent on different areas of the project.
Furthermore, a new website and forum is being worked at, replacing the old-fashioned website that offers only limited - functionality. The new website will be linked to the server + functionality. The new website will be linked to the server database, providing real-time updates about the project.
In addition, a new platform for collaborated development is - in the works. A service addon has been created for the GitLab + in the works. A service addon has been created for the GitLab project, which is a drop-in replacement of the popular GitHub - website. The choice was made to host our own solution and not - rely on GitHub itself. In retrospect this appears to be a good - decision. The recent development where GitHub removed projects - after DCMA-takedowns being sent is incompatible with the - philosophy of free-flow-of-information, which the ZFSguru - project is a strong proponent of. By hosting our own solution, - we have avoided any dependency on third party projects.
+ website. The choice was made to host our own solution and not + rely on GitHub itself. In retrospect this appears to be a + good decision. The recent development where GitHub removed + projects after DCMA-takedowns being sent is incompatible with + the philosophy of free-flow-of-information, which the ZFSguru + project is a strong proponent of. By hosting our own + solution, we have avoided any dependency on third party + projects. -It is expected that after the infrastructure of the project +
It is expected that after the infrastructure of the project has been revamped, work on the web-interface itself can - continue. New functionality such as GuruDB and Service + continue. New functionality such as GuruDB and Service Bulletins provide a tighter connection between the server infrastructure and the web-interface. The Migration Manager is one of the last remaining features still missing in the - web-interface. This functionality provides an easy way to + web-interface. This functionality provides an easy way to upgrade the current system by performing a new clean installation, but migrate all relevant configuration to the - new installation. It also allows to 'backup' all system + new installation. It also allows to 'backup' all system configuration in a single file to be stored on a different machine should things go awry.
-A longer version of this status report giving a wider +
A longer version of this status report giving a wider
perspective on the project, can be found at the
stateoftheproject
link.
Projects selected cover a wide range of areas within FreeBSD, +
Projects selected cover a wide range of areas within FreeBSD, covering both the base system and ports infrastructure, userland and kernel. We have students working on firewall optimisation, ports packaging tools, embedded systems, - debugging infrastructure, improved Unicode support, enhancements - to the loader and to the installer, and several other areas of - work. We are just over half way through the allocated time this - year, and are very much looking forward to integrating code - produced by these projects into FreeBSD.
- + debugging infrastructure, improved Unicode support, + enhancements to the loader and to the installer, and several + other areas of work. We are just over half way through the + allocated time this year, and are very much looking forward to + integrating code produced by these projects into FreeBSD. +This is the tenth time FreeBSD has taken part in Google's Summer of Code, and we are grateful to Google to have accepted us as a participating organisation.
@@ -1486,17 +1473,19 @@The ports tree slowly approaches the 25,000 ports threshold, while the - PR count is slightly below 1800.
+The ports tree slowly approaches the 25,000 ports threshold, + while the PR count is slightly below 1800.
-In Q2 we added three new committers, took in one commit bit for - safe keeping, and reinstated one commit bit.
+In Q2 we added three new committers, took in one commit bit + for safe keeping, and reinstated one commit bit.
In May, &a.tabthorpe; was replaced by &a.culot; as portmgr - secretary, and &a.swills; became a member of the portmgr team.
- -Commencing July 1, the third intake of portmgr-lurkers - started active duty on portmgr for a four month - duration. The next two candidates are &a.wg; and &a.nivit;.
- -This quarter also saw the release of the second quarterly branch, - namely 2014Q2. This branch was not only built for 10 (as 2014Q1) but - for 9 as well (both i386 and amd64).
+ secretary, and &a.swills; became a member of the portmgr + team. +Commencing July 1, the third intake of + portmgr-lurkers started active duty on + portmgr for a four month duration. The next two + candidates are &a.wg; and &a.nivit;.
+ +This quarter also saw the release of the second quarterly + branch, namely 2014Q2. This branch was not only built for 10 + (as 2014Q1) but for 9 as well (both i386 and amd64).
The Monthly team has been busy since the last report, with - longtime organizer &a.pgj; having stepped down from the team — - thank you Gábor for all your hard work! This has left - something of a void in the preparation of this report, for which - the call for items was issued quite late. To help fill the void, - &a.wblock; and &a.bjk; have been added to the monthly@ team, - joining &a.gjb;, &a.gavin;, &a.emaste;, and the rest of the team - in preparing this report. Special thanks to Glen for doing most - of the work while simultaneously getting 9.3-RELEASE out the door!
+ longtime organizer &a.pgj; having stepped down from the team + — thank you Gábor for all your hard work! This + has left something of a void in the preparation of this + report, for which the call for items was issued quite late. + To help fill the void, &a.wblock; and &a.bjk; have been added + to the monthly@ team, joining &a.gjb;, &a.gavin;, &a.emaste;, + and the rest of the team in preparing this report. Special + thanks to Glen for doing most of the work while simultaneously + getting 9.3-RELEASE out the door!The next cycle is sooner than you think! The deadline for submitting entries for the Q3 report is October 7th, 2014.