From owner-svn-doc-head@freebsd.org Fri Oct 28 18:59:38 2016
Return-Path:
The third quarter of 2016 was another productive quarter for - the &os; project and community. [...]
+ the &os; project and community. [...]Thanks to all the reporters for the excellent work!
@@ -110,19 +110,18 @@Currently, &os; is well proven as a base for routers (pfSense, OPNSense, BSDRP) and NAS (FreeNAS, - zfsGuru, NAS4Free). However, - &os;-based solutions are almost completely absent in the - virtualization area, and ClonOS is one of the - attempts to change that. -
- -ClonOS is a new free open-source &os;-based platform for virtual - environment creation and management. In the core platform are: -
+ zfsGuru, NAS4Free). + However, &os;-based solutions are almost completely absent in + the virtualization area, and ClonOS is one of + the attempts to change that. + +ClonOS is a new free open-source &os;-based platform for + virtual environment creation and management. In the core + platform are:
As in all previous editions of the Google Summer of Code, &os; - was an accepted organization, and we had the chance to mentor 15 - projects. Huge thanks to all our mentors for keeping the high - quality standards that make our community shine.
+As in all previous editions of the Google Summer of Code, + &os; was an accepted organization, and we had the chance to + mentor 15 projects. Huge thanks to all our mentors for + keeping the high quality standards that make our community + shine.
This year was rather unique in that we accepted for the first time well-known members of the community that are not src committers to co-mentor. We also accepted projects that have - a different upstream than &os;. Both are clear signs that &os; is - growing and adapting to the wider community.
+ a different upstream than &os;. Both are clear signs that + &os; is growing and adapting to the wider community.This year we are also had administrative issues with Perforce - and have accepted officially the use of external repositories, in - particular github, as requested by students.
+ and have accepted officially the use of external repositories, + in particular github, as requested by students.12 of 15 projects were successful, which we think is an excellent result for a Google Summer of Code.
@@ -208,17 +208,19 @@CloudABI is a compact UNIX-like runtime environment inspired by - &os;'s Capsicum security framework. It allows you to safely - run potentially untrusted programs directly on top of &os;, - Linux and macOS, without requiring the use of virtualisation, - jails, etc. This makes it a useful building block for - cluster/cloud computing.
+CloudABI is a compact UNIX-like runtime environment inspired + by &os;'s Capsicum security framework. It allows you to + safely run potentially untrusted programs directly on top of + &os;, Linux and macOS, without requiring the use of + virtualisation, jails, etc. This makes it a useful building + block for cluster/cloud computing.
Over the last couple of months, several new libraries and applications have been ported over to CloudABI, the most - important addition being Python 3.6. This means that you can now - write strongly sandboxed apps in Python!
+ important addition being Python 3.6. This means that you can + now write strongly sandboxed apps in Python! -Support for different hardware platforms has also improved. In - addition to amd64 and arm64, we now support i686 and armv6. +
Support for different hardware platforms has also improved. + In addition to amd64 and arm64, we now support i686 and armv6. The release of LLVM 3.9 was important to us, as it has - integrated all the necessary changes to support the first three - platforms. Full armv6 support is still blocked on some issues - with LLVM's linker, LLD.
+ integrated all the necessary changes to support the first + three platforms. Full armv6 support is still blocked on some + issues with LLVM's linker, LLD.This quarter, the Hyper-V storage driver was greatly improved: - its performance was increased by a factor of 1.2-2 by applying - BUS_DMA and UNMAP_IO, enlarging the request queue, and selecting the - outgoing channel with the LUN considered; TRIM/UNMAP was enabled; - and some critical bugs (PRs 209443, 211000, 212998) were fixed so - that disk hot add/remove and VHDX online resizing should work - now.
+This quarter, the Hyper-V storage driver was greatly + improved: its performance was increased by a factor of 1.2-2 + by applying BUS_DMA and UNMAP_IO, enlarging the request queue, + and selecting the outgoing channel with the LUN considered; + TRIM/UNMAP was enabled; and some critical bugs (PRs 209443, + 211000, 212998) were fixed so that disk hot add/remove and + VHDX online resizing should work now.
-The VMBus driver also received attention, with enhancements made for - the handling of device hot add/remove.
+The VMBus driver also received attention, with enhancements + made for the handling of device hot add/remove.
-In the Hyper-V network driver, configurable RSS key and dynamic - MTU change are now supported.
+In the Hyper-V network driver, configurable RSS key and + dynamic MTU change are now supported.
&os; images on Azure continue to be updated — after - publishing the &os; 10.3 VM image on the global Microsoft Azure in - June, Microsoft also published the VM image on the Microsoft Azure - operated by 21Vianet in China in September.
- -Patches have been developed to support PCIe pass-through (also - known as Discrete Device Assignment); this feature allows physical - PCIe devices to be passed through to &os; VMs running on Hyper-V - (Windows Server 2016), giving them near-native performance with low - CPU utilization. The patch to enable the feature will be posted for - review soon.
+ publishing the &os; 10.3 VM image on the global Microsoft + Azure in June, Microsoft also published the VM image on the + Microsoft Azure operated by 21Vianet in China in + September. + +Patches have been developed to support PCIe pass-through + (also known as Discrete Device Assignment); this feature + allows physical PCIe devices to be passed through to &os; VMs + running on Hyper-V (Windows Server 2016), giving them + near-native performance with low CPU utilization. The patch + to enable the feature will be posted for review soon.
This project provides:
The ptnet device and driver has been introduced to - overcome the performance limitations of TCP/IP networking between - bhyve VMs. Prior to this work, the most performant solution for - VM-to-VM intra-host TCP communication provided less than 2 Gbps TCP - throughput. With ptnet, in the same VM-to-VM TCP - communication scenario, it is possible to obtain up to 20 Gbps.
+ overcome the performance limitations of TCP/IP networking + between bhyve VMs. Prior to this work, the most performant + solution for VM-to-VM intra-host TCP communication provided + less than 2 Gbps TCP throughput. With ptnet, in the + same VM-to-VM TCP communication scenario, it is possible to + obtain up to 20 Gbps.The porting of the 0.11 branch is now complete, with new ports - (compared to the previous release). See our wiki page for a - complete list of applications.
+The porting of the 0.11 branch is now complete, with new + ports (compared to the previous release). See our wiki page + for a complete list of applications.
We also have updates for:
@@ -551,9 +557,9 @@Currently, the unstable releases work fine with our Gtk3 ports - available in the ports tree, but in the future, support for 3.18 - will be removed in preference of 3.20.x.
+Currently, the unstable releases work fine with our Gtk3 + ports available in the ports tree, but in the future, support + for 3.18 will be removed in preference of 3.20.x.
The ZFS code base in &os; regularly gets merges of new code, - staying in sync with latest OpenZFS/Illumos sources. Among other - things, the latest merge included the following improvements:
+ staying in sync with latest OpenZFS/Illumos sources. Among + other things, the latest merge included the following + improvements:&os; includes support for the Marvell Armada38x platform, which - has been tested and improved in order to gain production quality. - Most of this effort has been invested in development and - benchmarking of the on-chip Gigabit Ethernet (NETA) functionality. - Numerous bug fixes and some new features have been - introduced.
+&os; includes support for the Marvell Armada38x platform, + which has been tested and improved in order to gain production + quality. Most of this effort has been invested in development + and benchmarking of the on-chip Gigabit Ethernet (NETA) + functionality. Numerous bug fixes and some new features have + been introduced.
Work completed this quarter includes:
@@ -763,8 +776,8 @@Along with support for new boards (SolidRun ClearFog and @@ -820,15 +834,16 @@
-The Elastic Network Adapter (ENA) is a 25G SmartNIC developed by - Annapurna Labs based on a custom ARMv8 chip. This is a - high-performance networking card that is available to AWS virtual - machines. It introduces enhancements in network utilization - scalability on EC2 machines running various operating systems, in - particular &os;.
- -The goal of &os; enablement is to provide top performance and a - wide range of monitoring and management features such as:
+The Elastic Network Adapter (ENA) is a 25G SmartNIC developed + by Annapurna Labs based on a custom ARMv8 chip. This is a + high-performance networking card that is available to AWS + virtual machines. It introduces enhancements in network + utilization scalability on EC2 machines running various + operating systems, in particular &os;.
+ +The goal of &os; enablement is to provide top performance and + a wide range of monitoring and management features such + as:
The current state offers stable driver operation with good - performance on machines running &os; directly on the hardware.
+ performance on machines running &os; directly on the + hardware.Alpine is a family of Platform-on-Chip devices, including - multi-core 32-bit (first-gen Alpine) and 64-bit (Alpine V2) ARM - CPUs, developed by Annapurna Labs.
+ multi-core 32-bit (first-gen Alpine) and 64-bit (Alpine V2) + ARM CPUs, developed by Annapurna Labs.The primary focus areas of the Alpine platform are - high-performance networking, storage and embedded applications. The - network subsystem features 10-, 25-, and 50-Gbit Ethernet - controllers with support for virtualization, load-balancing, - hardware offload and other advanced features.
+ high-performance networking, storage and embedded + applications. The network subsystem features 10-, 25-, and + 50-Gbit Ethernet controllers with support for virtualization, + load-balancing, hardware offload and other advanced + features. -A basic patch set has already been committed to HEAD including:
+A basic patch set has already been committed to HEAD + including:
Additional work, such as an MSI-X driver and full Ethernet - support, is currently undergoing community review on Phabricator.
+ support, is currently undergoing community review on + Phabricator. -The multi-user SMP system is stable and fully working, along with - the 1G and 10G Ethernet links.
+The multi-user SMP system is stable and fully working, along + with the 1G and 10G Ethernet links.
-The interrupt management code has been adjusted to work with the - new INTRNG framework on both ARM32 and ARM64.
+The interrupt management code has been adjusted to work with + the new INTRNG framework on both ARM32 and ARM64.
For EuroBSDcon, I began looking into inconsistencies within - components inside our family of operating systems. My workflow - consisted of reading the documentation for a given utility and - checking the history in the revision control system for missing - fixes or functionality in the trees of NetBSD, &os;, OpenBSD, and - DragonFly BSD.
+ components inside our family of operating systems. My + workflow consisted of reading the documentation for a given + utility and checking the history in the revision control + system for missing fixes or functionality in the trees of + NetBSD, &os;, OpenBSD, and DragonFly BSD.One thing which became obvious very quickly was the - inconsistency between operating systems about where and/or which - version a utility originated in, despite our common heritage.
- -I began with working through the man pages in &os;, verifying the - details in pages which already had a history section and making - patches for those which did not.
- -From there, changes were propogated out to NetBSD, OpenBSD, and - Dragonfly BSD where applicable (not all utilities originated from - the same source or implementation, for example).
+ inconsistency between operating systems about where and/or + which version a utility originated in, despite our common + heritage. + +I began with working through the man pages in &os;, verifying + the details in pages which already had a history section and + making patches for those which did not.
+ +From there, changes were propogated out to NetBSD, OpenBSD, + and Dragonfly BSD where applicable (not all utilities + originated from the same source or implementation, for + example).
This was a good exercise in:
@@ -981,28 +1003,29 @@&os; provides an API for guest operating systems to access shared folders on - the host so that the kernel driver can expose them to the - guest's userland. This project aims to add such functionality to - the VirtualBox Guest Additions driver.
+&os; provides an API for guest operating systems to access + shared folders on the host so that the kernel driver can + expose them to the guest's userland. This project aims to add + such functionality to the VirtualBox Guest Additions + driver.
Good progress was made over last few months. Developers were able to mount a filesystem in read-only mode and, with some - limitations, in read-write mode. The implementation still lacks - some critical pieces, but the roadmap is clear.
+ limitations, in read-write mode. The implementation still + lacks some critical pieces, but the roadmap is clear.evdev is a portable, API-compatible implementation of - the Linux /dev/input/eventX interface. It covers a wide - variety of input devices like keyboards, mice, and touchscreens - (with multitouch support), and support for it is implemented in a - lot of existing userland components like Qt, libinput, and - tslib.
+evdev is a portable, API-compatible implementation + of the Linux /dev/input/eventX interface. It covers + a wide variety of input devices like keyboards, mice, and + touchscreens (with multitouch support), and support for it is + implemented in a lot of existing userland components like Qt, + libinput, and tslib.
-evdev support was started by Jakub Klama as a Google SoC - 2014 project, and later picked up and finished by Vladimir +
evdev support was started by Jakub Klama as a Google + SoC 2014 project, and later picked up and finished by Vladimir Kondratiev. General API and evdev support bits for - ukbd and ums were committed to HEAD. Support was - also added for TI's AM33xx touchstreen controller (the popular - BeagleBone is based on the AM33xx) and the official touschreen for - the Raspberry Pi. Multitouch support for the Raspberry Pi was - successfully demonstarted using the latest Qt development branch.
- + ukbd and ums were committed to HEAD. + Support was also added for TI's AM33xx touchstreen controller + (the popular BeagleBone is based on the AM33xx) and the + official touschreen for the Raspberry Pi. Multitouch support + for the Raspberry Pi was successfully demonstarted using the + latest Qt development branch. +Transparent superpage support has been added. This allows - &os; to create 2MiB blocks with a single pagetable and TLB entry. - This shows a small but significant improvement in the + &os; to create 2MiB blocks with a single pagetable and TLB + entry. This shows a small but significant improvement in the buildworld time on ThunderX machines. Superpages have been - enabled in head and merged to stable/11, but they are - disabled by default on stable/11 due to a lack of testing - there.
+ enabled in head and merged to stable/11, but they are disabled + by default on stable/11 due to a lack of testing there.Support for the pre-INTRNG interrupt framework has been removed. This means that arm64 requires INTRNG to even build. - This has allowed various cleanups within the arm64 drivers that - interact with the interrupt controller.
+ This has allowed various cleanups within the arm64 drivers + that interact with the interrupt controller. -The cortex Strings library from Linaro has been imported. The - parts of this that have been shown to be improvements over the - previous C code were attached to the libc build.
+The cortex Strings library from Linaro has been imported. + The parts of this that have been shown to be improvements over + the previous C code were attached to the libc build.
There is ongoing work to add ACPI support to the kernel. On - ThunderX, &os; can get to the mountroot prompt, however, due to - incomplete ACPI tables the external PCIe support needed to support - the netboot setup in the test cluster is not functional.
+ ThunderX, &os; can get to the mountroot prompt, however, due + to incomplete ACPI tables the external PCIe support needed to + support the netboot setup in the test cluster is not + functional.Pine64 support has been committed to head. &os; can now boot - to multiuser with SMP enabled. This includes support for clocks, - the secure ID controller, USB Host controller, GPIOs, non-maskable - interrupts, the AXP81x power management unit, cpu freqency and - voltage scaling, MMC, UART, gigabit networking, the watchdog, and - the thermal sensors.
+ to multiuser with SMP enabled. This includes support for + clocks, the secure ID controller, USB Host controller, GPIOs, + non-maskable interrupts, the AXP81x power management unit, cpu + freqency and voltage scaling, MMC, UART, gigabit networking, + the watchdog, and the thermal sensors.The KDE on &os; team focuses on packaging the KDE software and - making sure that the experience of KDE and Qt on &os; is as good as - possible.
+The KDE on &os; team focuses on packaging the KDE software + and making sure that the experience of KDE and Qt on &os; is + as good as possible.
The following big updates were landed in the ports tree this quarter:
@@ -1212,15 +1237,16 @@The third quarter started with the handover to the ninth Core team as it took office. With four members returning from the - previous core (Baptiste Daroussin, Ed Maste, George Neville-Neil - and Hiroki Sato), one returning member after a term away (John - Baldwin), and four members new to core (Allan Jude, Kris Moore, - Benedict Reuschling and Benno Rice), the new core team represents - just about the ideal balance between experience and fresh - blood.
+ previous core (Baptiste Daroussin, Ed Maste, George + Neville-Neil and Hiroki Sato), one returning member after a + term away (John Baldwin), and four members new to core (Allan + Jude, Kris Moore, Benedict Reuschling and Benno Rice), the new + core team represents just about the ideal balance between + experience and fresh blood.Beyond handing over all of the ongoing business, reviewing everything on Core's agenda, and other routine changeover - activities, the first action of the new core was to respond to a - query from Craig Rodrigues concerning how hardware supplied to the - project through donations to the &os; Foundation was being - used.
+ activities, the first action of the new core was to respond to + a query from Craig Rodrigues concerning how hardware supplied + to the project through donations to the &os; Foundation was + being used.The Foundation does keep records of what hardware has been - supplied over time and has some idea of the original purpose that - hardware was provisioned for, but does not track the current usage - of the project's hardware assets. Cluster administration keeps - their own configuration database, but this is not suitable for - general publication and covers much more than Foundation supplied - equipment. After some discussion it was decided that updated - information about the current disposition of Foundation supplied - equipment should be incorporated in the Foundation's annual - report.
- -Ensuring that all of the &os; code base is supplied under open - and unencumbered licensing terms and that we do not infringe on - patent terms or otherwise act counter to any legal requirements - are some of Core's primary concerns. During this quarter, there - were three items of this nature.
+ supplied over time and has some idea of the original purpose + that hardware was provisioned for, but does not track the + current usage of the project's hardware assets. Cluster + administration keeps their own configuration database, but + this is not suitable for general publication and covers much + more than Foundation supplied equipment. After some + discussion it was decided that updated information about the + current disposition of Foundation supplied equipment should be + incorporated in the Foundation's annual report. + +Ensuring that all of the &os; code base is supplied under + open and unencumbered licensing terms and that we do not + infringe on patent terms or otherwise act counter to any legal + requirements are some of Core's primary concerns. During this + quarter, there were three items of this nature.
Work on LLVM has thrown up problems with the presence of - certain pre-compiled binary-only drivers as part of the GENERIC - kernel. Core has adopted the policy that such binary-only code - should be moved to loadable modules and that the GENERIC kernel - must be compiled entirely from original sources.
+ certain pre-compiled binary-only drivers as part of the + GENERIC kernel. Core has adopted the policy that such + binary-only code should be moved to loadable modules and that + the GENERIC kernel must be compiled entirely from original + sources.The item that has absorbed the largest portion of Core's *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***