Index: head/en_US.ISO8859-1/htdocs/news/status/report-2016-10-2016-12.xml =================================================================== --- head/en_US.ISO8859-1/htdocs/news/status/report-2016-10-2016-12.xml (revision 49816) +++ head/en_US.ISO8859-1/htdocs/news/status/report-2016-10-2016-12.xml (revision 49817) @@ -1,391 +1,444 @@ October-December 2016
Introduction

This is a draft of the October–December 2016 status report. Please check back after it is finalized, and an announcement email is sent to the &os;-Announce mailing list.

This report covers &os;-related projects between October and December 2016. This is the last of four reports planned for 2016.

The last quarter of 2016 was another productive quarter for the &os; project and community. [...]

Thanks to all the reporters for the excellent work!

The deadline for submissions covering the period from January to March 2017 is April 7, 2017.

?>
team &os; Team Reports proj Projects kern Kernel arch Architectures bin Userland Programs ports Ports doc Documentation misc Miscellaneous &os;/EC2 Colin Percival cperciva@FreeBSD.org

This report covers work since the last &os;/EC2 status report (2015Q1).

&os;/EC2 is now part of the regular &os; release build, with snapshots and releases being automatically uploaded and copied to all available regions. Due to legal restrictions this does not currently include the GovCloud or China (Beijing) regions; anyone wishing to use &os; in those regions is encouraged to contact the author.

The AWS Marketplace reports that approximately 800 users are running roughly 2000 &os; EC2 instances. This does not count the likely significantly larger number of EC2 instances launched "directly" through the EC2 API and Console, but at least places a lower bound on usage.

&os; 11.0-RELEASE shipped with support for the "enhanced networking" support in EC2 C3, C4, R3, I2, D2, and M4 (excluding m4.16xlarge) instances; this provides significantly higher network performance than the virtual networking available on older EC2 instances and with older versions of &os;.

&os; 11.0-RELEASE and later also use indirect segment disk I/Os, which yield ~20% higher throughput with equal or lower latency, and support the 128-vCPU x1.32xlarge instance type.

&os; now supports the Amazon Simple Systems Manager service ("run command").

Complete a pending reorganization of the accounts used for &os;/EC2 releases. Support "second generation enhanced networking" via the new Elastic Network Adapter found in P2, R4, X1, and m4.16xlarge instances. Provide tools for improved functionality via the Simple Systems Manager service: Listing installed packages, checking for updates, adding/removing users, [your favourite sysadmin task goes here]. Add support for EC2's IPv6 networking to the default &os;/EC2 configuration. Continue ongoing interoperability testing between &os;'s NFS client and Amazon Elastic File System (NFS-as-a-service).
Sysctl Exporter for Prometheus Ed Schouten ed@FreeBSD.org The Prometheus Project Node Exporter Sysctl Exporter

Prometheus is an Open Source monitoring system that was originally built at SoundCloud in 2012. Since 2016, this project is part of the Cloud Native Computing Foundation, together with other projects like Kubernetes.

Prometheus scrapes its targets by periodically sending HTTP GET requests. Targets then respond by sending key-value pairs of metrics and their sample value. Prometheus has a query language, PromQL, that can be used to aggregate sample values and specify alerting conditions. Tools like Grafana can be used to create fancy dashboards using such queries.

The Prometheus project provides a utility called the node_exporter that gathers basic system metrics and serves them over HTTP. This utility tends to be rather complex, as it has to extract metrics from many different sources. On Linux, files in /proc have no uniform format, meaning that for every kernel framework a custom collector needs to be written.

On &os; the sitiuation is better, as the data exported through sysctl is already structured in such a way that it can easily be translated to Prometheus' metrics format. The goal of this project is thus to provide a generic exporter for the entire sysctl tree. Not only does this prevent unnecessary bloat and indirection, it may also make the life of a kernel developer a lot easier. One can easily use Prometheus to graph the occurrence of an event over time by (temporarily) adding a counter to the kernel.

An initial version of the sysctl exporter has been integrated into the &os; base system in December. It can be run through inetd by uncommenting the example provided in inetd.conf. Unfortunately, this exporter cannot be merged back to &os; 10.x/11.x, as it depends on KBI-breaking changes to sysctl(9).

Are you using Prometheus or are you interested in using it? Be sure to give both Prometheus and this sysctl exporter a try! It would be nice if we created a set of useful alerting rules and placed those in /usr/share/examples. For example, how can one use this exporter to monitor the state of GEOM-based RAID arrays? Is such information even exported through sysctl? Prometheus uses a pretty nifty format for exporting histograms. Histograms are useful for expressing the amount of time taken to complete certain events (for example, disk operations). Would it be possible to add histograms as native datatypes to sysctl? If so, is there any chance they can be implemented without picking up any kernel locks?
&os; on ARM boards Ganbold Tsagaankhuu ganbold@FreeBSD.org &os; on Allwinner (Sunxi) Systems &os; Commit Adding Support for IR Interfaces

The changes necessary to support the Allwinner Consumer IR interface in &os; have been committed. The receive (RX) side is supported now and the driver is using the evdev framework. It was tested on the Cubieboard2 (A20 SoC) using lirc with dfrobot's simple IR remote controller.

libarchive Tim Kientzle kientzle@FreeBSD.org Martin Matuska mm@FreeBSD.org Official Libarchive Homepage Libarchive on GitHub

Libarchive is a BSD-licensed archive and compression library originally developed as part of &os;. It supports a wide variety of input and output formats and also includes three command-line tools: bsdcat, bsdcpio and bsdtar. The &os; tar and cpio utilities are taken directly from Libarchive, and many other important utilities like ar, unzip, and the pkg package manager make use of libarchive's functions.

Libarchive development in 2016 has been focusing on bug fixes and code cleanup, including fixing several critical security issues. Automated testing with Travis CI and Jenkins has been introduced and libarchive has been added to the Google OSS-Fuzz project. Fuzzing helped detect several hidden problems like buffer overflows and memory leaks.

Over the last few months, NFSv4 ACL support for the pax and restricted pax (the default for bsdtar) formats has been completed and merged to &os;-CURRENT. NFSv4 ACL entries can now be stored to and restored from tar archives.

More extensive CI testing with &os; on different platforms and releases. Currently only 11.0-RELEASE-amd64 gets tested via an automated Jenkins job. As every commit to libarchive may influence the build process of &os; ports, the ability to trigger a (semi-)automated exp-run for the ports tree would be great.
&os; on Hyper-V and Azure Sepherosa Ziehau sepherosa@gmail.com Hongjiang Zhang honzhan@microsoft.com Dexuan Cui decui@microsoft.com Kylie Liang kyliel@microsoft.com &os; Virtual Machines on Microsoft Hyper-V Supported Linux and &os; Virtual Machines for Hyper-V on Windows

Per-ring polling, multi-packet RNDIS messages, and system RSS integration have been implemented, further optimizing the throughput and latency of the Hyper-V network driver.

Live virtual machine backup is implemented (for now, only for UFS), after the VSS (Volume Shadow Copy Service), which it depends on, was implemented.

PCIe pass-through is implemented, and the patches to implement NIC SR-IOV are being reviewed on Phabricator.

vDSO support for speeding up gettimeofday(2) is now implemented.

The &os; 11.0 image on Azure (https://azure.microsoft.com/en-us/marketplace/partners/microsoft/FreeBSD110/) is also available now, in addition to the existing 10.3 image.

We fixed an issue where SCSI disks would sometimes fail to attach, resolving bug 215171 ([Hyper-V] Fail to attach SCSI disk from LUN 8 on Win2008R2/Win2012/Win2012R2).

Microsoft
+ + + Updates to GDB + + + + + John + Baldwin + + jhb@FreeBSD.org + + + + + Luca + Pizzamiglio + + luca.pizzamiglio@gmail.com + + + + +

The port has been updated to GDB 7.12.

+ +

7.12 includes additional fixes related to tracing + vfork()s. Some of these fixes depend on changes to + ptrace() in the kernel to report a new ptrace stop when + the parent of a vfork() resumes.

+ +

Support for &os;/mips userland binaries has been committed + upstream. These patches, along with support for debugging + &os;/mips kernels, should be added to the port soon.

+ + + + Figure out why the powerpc kgdb targets are not + able to unwind the stack past the initial frame. + + Add support for more platforms (arm, aarch64) to upstream + gdb for both userland and kgdb. + + Add support for debugging powerpc vector registers. + + Add support for $_siginfo. + + Implement 'info proc' commands. + + Implement 'info os' commands. + + Debug gdb hangs related to the 'kill' command. + +