diff options
Diffstat (limited to 'website/content/en/status/report-2015-10-2015-12.html')
| -rw-r--r-- | website/content/en/status/report-2015-10-2015-12.html | 3387 |
1 files changed, 0 insertions, 3387 deletions
diff --git a/website/content/en/status/report-2015-10-2015-12.html b/website/content/en/status/report-2015-10-2015-12.html deleted file mode 100644 index f32802619e..0000000000 --- a/website/content/en/status/report-2015-10-2015-12.html +++ /dev/null @@ -1,3387 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook"> - <head> - <title>FreeBSD Quarterly Status Report</title> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> - <link rel="shortcut icon" href="https://www.FreeBSD.org/favicon.ico" type="image/x-icon" /> - <link rel="stylesheet" media="screen,print" href="https://www.FreeBSD.org/layout/css/fixed.css?20130112" type="text/css" /> - <script type="text/javascript" href="https://www.FreeBSD.org/layout/js/google.js"></script> - </head> - <body> - <div id="containerwrap"> - <div id="container"> - <span class="txtoffscreen"><a href="#content" title="Skip site navigation" accesskey="1">Skip site navigation</a> (1) - <a href="#contentwrap" title="Skip section navigation" accesskey="2">Skip section navigation</a> (2) -</span> - <div id="headercontainer"> - <div id="header"> - <h2 class="blockhide">Header And Logo</h2> - <div id="headerlogoleft"> - <a href="../.." title="FreeBSD"> - <img src="https://www.FreeBSD.org/layout/images/logo-red.png" width="457" height="75" alt="FreeBSD" /> - </a> - </div> - <div id="headerlogoright"> - <div class="frontdonateroundbox"> - <div class="frontdonatetop"> - <div> - <b style="display: none;">.</b> - </div> - </div> - <div class="frontdonatecontent"> - <a href="https://www.FreeBSDFoundation.org/donate/">Donate to FreeBSD</a> - </div> - <div class="frontdonatebot"> - <div> - <b style="display: none;">.</b> - </div> - </div> - </div> - <h2 class="blockhide">Peripheral Links</h2> - <div id="searchnav"> - <ul id="searchnavlist"></ul> - </div> - <div id="search"> - <form method="get" id="search-form" action="https://duckduckgo.com/" onsubmit="document.getElementById('words').value+=' (site:www.FreeBSD.org OR site:docs.FreeBSD.org OR site:lists.FreeBSD.org OR site:wiki.FreeBSD.org OR site:forums.FreeBSD.org)'"> - <h2 class="blockhide"> - <label for="words">Search</label> - </h2> - <input type="hidden" name="ka" value="v" /> - <input type="hidden" name="kt" value="v" /> - <input type="hidden" name="kh" value="1" /> - <input type="hidden" name="kj" value="r2" /> - <input id="words" name="q" type="text" size="20" maxlength="255" onfocus="if( this.value==this.defaultValue ) this.value='';" value="Search" /> - <span> </span> - <input id="submit" name="submit" type="submit" value="Search" /> - </form> - </div> - </div> - </div> - <h2 class="blockhide">Site Navigation</h2> - <div id="menu"> - <ul class="first"> - <li> - <a href="../../">Home</a> - </li> - </ul> - <ul> - <li> - <a href="../../about.html">About</a> - <ul> - <li> - <a href="../../projects/newbies.html">Introduction</a> - </li> - <li> - <a href="../../features.html">Features</a> - </li> - <li> - <a href="../../advocacy/">Advocacy</a> - </li> - <li> - <a href="../../marketing/">Marketing</a> - </li> - <li> - <a href="../../privacy.html">Privacy Policy</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="../../where.html">Get FreeBSD</a> - <ul> - <li> - <a href="../../releases/">Release Information</a> - </li> - <li> - <a href="../../releng/">Release Engineering</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="../../docs.html">Documentation</a> - <ul> - <li> - <a href="../../doc/en_US.ISO8859-1/books/faq/">FAQ</a> - </li> - <li> - <a href="../../doc/en_US.ISO8859-1/books/handbook/">Handbook</a> - </li> - <li> - <a href="../../doc/en_US.ISO8859-1/books/porters-handbook">Porter's Handbook</a> - </li> - <li> - <a href="../../doc/en_US.ISO8859-1/books/developers-handbook">Developer's Handbook</a> - </li> - <li> - <a href="//www.FreeBSD.org/cgi/man.cgi">Manual Pages</a> - </li> - <li> - <a href="https://papers.FreeBSD.org">Presentations and Papers</a> - </li> - <li> - <a href="../../doc/en_US.ISO8859-1/books/fdp-primer">Documentation Project Primer</a> - </li> - <li> - <a href="../../docs/books.html">All Books and Articles</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="../../community.html">Community</a> - <ul> - <li> - <a href="../../community/mailinglists.html">Mailing Lists</a> - </li> - <li> - <a href="https://forums.FreeBSD.org">Forums</a> - </li> - <li> - <a href="../../usergroups.html">User Groups</a> - </li> - <li> - <a href="../../events/events.html">Events</a> - </li> - <li> - <a href="http://freebsdjournal.com">FreeBSD Journal</a> - </li> - <li> - <a href="http://serverfault.com/questions/tagged/freebsd">Q&A (external)</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="../../projects/index.html">Developers</a> - <ul> - <li> - <a href="https://wiki.FreeBSD.org/IdeasPage">Project Ideas</a> - </li> - <li> - <a href="https://cgit.FreeBSD.org">Git Repository</a> - </li> - <li> - <a href="https://svnweb.FreeBSD.org">Subversion Repository</a> - </li> - <li> - <a href="https://github.com/freebsd">GitHub Mirror</a> - </li> - <li> - <a href="https://reviews.FreeBSD.org">Code Review (Phabricator)</a> - </li> - <li> - <a href="https://wiki.FreeBSD.org">Wiki</a> - </li> - <li> - <a href="https://ci.FreeBSD.org">Continuous Integration Service</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="../../support.html">Support</a> - <ul> - <li> - <a href="../../commercial/commercial.html">Vendors</a> - </li> - <li> - <a href="../../security/">Security Information</a> - </li> - <li> - <a href="https://bugs.FreeBSD.org/search/">Bug Reports</a> - </li> - <li> - <a href="https://www.FreeBSD.org/support.html">Submitting Bug Reports</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="https://www.freebsdfoundation.org/">Foundation</a> - <ul> - <li> - <a href="https://www.freebsdfoundation.org/donate/">Monetary Donations</a> - </li> - <li> - <a href="../../donations/index.html#systems">Hardware Donations</a> - </li> - </ul> - </li> - </ul> - </div> - </div> - <div id="content"> - <div id="sidewrap"> - <div id="sidenav"> - <h2 class="blockhide">Section Navigation</h2> - <ul> - <li> - <a href="../../about.html">About</a> - </li> - <li> - <a href="../../features.html">Features</a> - </li> - <li> - <a href="../../applications.html">Applications</a> - </li> - <li> - <a href="../../advocacy/">Advocacy</a> - </li> - <li> - <a href="../../marketing/">Marketing</a> - </li> - <li> - <a href="../../administration.html">Administration</a> - </li> - <li> - <a href="../../news/newsflash.html">News</a> - </li> - <li> - <a href="../../events/events.html">Events</a> - </li> - <li> - <a href="../../news/press.html">Press</a> - </li> - <li> - <a href="../../multimedia/multimedia.html">Multimedia</a> - </li> - <li> - <a href="../../art.html">Artwork</a> - </li> - <li> - <a href="../../logo.html">Logo</a> - </li> - <li> - <a href="../../donations/">Donations</a> - </li> - <li> - <a href="../../copyright/">Legal Notices</a> - </li> - <li> - <a href="../../privacy.html">Privacy Policy</a> - </li> - </ul> - </div> - </div> - <div id="contentwrap"><h1>Introduction</h1><p>The fourth quarter of 2015 saw a great deal of activity for - FreeBSD. This is now the third quarter running for which I can say - that this is the largest report yet published! Many thanks to - everyone who proactively submitted topics and entries — it - is great to have more complete coverage of ongoing development for - the community to learn about in these reports.</p><p>An experimental new Triage Team was formed this quarter to - create a new way for community members to participate, - and to improve issue management and productivity in general. - Making more effective use of automation - and tooling can help to increase developer productivity and the - quality of FreeBSD, just as the adoption of Jenkins and continual - integration tooling catches regressions quickly and maintains the - high standards for the system.</p><p>Efforts to bring our BSD high standards to new - architectures continue, with impressive work on arm64 leading to - its promotion to Tier-2 status and a flurry of work bringing up - the new RISC-V hardware architecture. Software architecture is - also under active development, including system startup and - service management. A handful of potential init system - replacements are mentioned in this report: <tt>launchd</tt>, - <tt>relaunchd</tt>, and <tt>nosh</tt>. Architectural changes - originating both from academic research (multipath TCP) and from - the realities of industry (<tt>sendfile(2)</tt> improvements) are - also under way. It is heartening to see how FreeBSD provides a - welcoming platform for contributions from both research and - industry.</p><p>To all the readers, whether from academia or industry, - hobbyist or professional: I hope you are as excited as I am to - read about all of the progress and projects covered in this - report, and the future of FreeBSD!</p><p>—Ben Kaduk</p><p><hr /></p><p>The deadline for submissions covering the period from January - to March 2016 is April 7, 2016.</p><hr /><h3><a href="#FreeBSD-Team-Reports">FreeBSD Team Reports</a></h3><ul><li><a href="#FreeBSD-Release-Engineering-Team">FreeBSD Release Engineering Team</a></li><li><a href="#Issue-Tracking-(Bugzilla)">Issue Tracking (Bugzilla)</a></li><li><a href="#The-FreeBSD-Core-Team">The FreeBSD Core Team</a></li><li><a href="#The-FreeBSD-Issue-Triage-Team">The FreeBSD Issue Triage Team</a></li></ul><h3><a href="#Projects">Projects</a></h3><ul><li><a href="#CAM-I/O-Scheduler">CAM I/O Scheduler</a></li><li><a href="#Encrypted-Kernel-Crash-Dumps">Encrypted Kernel Crash Dumps</a></li><li><a href="#Jenkins-Continuous-Integration-for-FreeBSD">Jenkins Continuous Integration for FreeBSD</a></li><li><a href="#Mellanox-iSCSI-Extensions-for-RDMA-(iSER)-Support">Mellanox iSCSI Extensions for RDMA (iSER) Support</a></li><li><a href="#MIPS:-Ralink/Mediatek-Support">MIPS: Ralink/Mediatek Support</a></li><li><a href="#Multipath-TCP-for-FreeBSD">Multipath TCP for FreeBSD</a></li><li><a href="#OpenBSM">OpenBSM</a></li><li><a href="#Raspberry-Pi:-VideoCore-Userland-Application-Packaging">Raspberry Pi: VideoCore Userland Application - Packaging</a></li><li><a href="#RCTL-Disk-IO-Limits">RCTL Disk IO Limits</a></li><li><a href="#Root-Remount">Root Remount</a></li><li><a href="#Routing-Stack-Update">Routing Stack Update</a></li><li><a href="#The-Graphics-Stack-on-FreeBSD">The Graphics Stack on FreeBSD</a></li><li><a href="#The-nosh-Project">The nosh Project</a></li><li><a href="#UEFI-Boot-and-Framebuffer-Support">UEFI Boot and Framebuffer Support</a></li></ul><h3><a href="#Kernel">Kernel</a></h3><ul><li><a href="#Chelsio-iSCSI-Offload-Driver-(Initiator-and-Target)">Chelsio iSCSI Offload Driver (Initiator and Target)</a></li><li><a href="#FreeBSD-Integration-Services-(BIS)">FreeBSD Integration Services (BIS)</a></li><li><a href="#FreeBSD-Xen">FreeBSD Xen</a></li><li><a href="#Improvements-to-the-QLogic-HBA-Driver">Improvements to the QLogic HBA Driver</a></li><li><a href="#iMX.6-Video-Output-Support">iMX.6 Video Output Support</a></li><li><a href="#ioat(4)-Driver-Enhancements">ioat(4) Driver Enhancements</a></li><li><a href="#Kernel-Vnode-Cache-Tuning">Kernel Vnode Cache Tuning</a></li><li><a href="#Mellanox-Drivers">Mellanox Drivers</a></li><li><a href="#Minimal-Kernel-with-PNP-Based-Autoloading">Minimal Kernel with PNP-Based Autoloading</a></li><li><a href="#MMC-Stack-Under-CAM-Framework">MMC Stack Under CAM Framework</a></li><li><a href="#ntb_hw(4)/if_ntb(4)-Driver-Synced-up-to-Linux">ntb_hw(4)/if_ntb(4) Driver Synced up to - Linux</a></li><li><a href="#Out-of-Memory-Handler-Rewrite">Out of Memory Handler Rewrite</a></li><li><a href="#sendfile(2)-Improvements">sendfile(2) Improvements</a></li><li><a href="#sysctl-Enhancements">sysctl Enhancements</a></li><li><a href="#Touchscreen-Support-for-Raspberry-Pi-and-Beaglebone-Black">Touchscreen Support for Raspberry Pi and Beaglebone - Black</a></li></ul><h3><a href="#Architectures">Architectures</a></h3><ul><li><a href="#armv6-Hard-Float-Default-ABI">armv6 Hard Float Default ABI</a></li><li><a href="#FreeBSD-on-Marvell-Armada38x">FreeBSD on Marvell Armada38x</a></li><li><a href="#FreeBSD-on-Newer-ARM-Boards">FreeBSD on Newer ARM Boards</a></li><li><a href="#FreeBSD-on-SoftIron-Overdrive-3000">FreeBSD on SoftIron Overdrive 3000</a></li><li><a href="#FreeBSD/arm64">FreeBSD/arm64</a></li><li><a href="#FreeBSD/RISC-V">FreeBSD/RISC-V</a></li><li><a href="#Improvements-for-ARMv6/v7-Support">Improvements for ARMv6/v7 Support</a></li></ul><h3><a href="#Userland-Programs">Userland Programs</a></h3><ul><li><a href="#Base-System-Build-Improvements">Base System Build Improvements</a></li><li><a href="#ELF-Tool-Chain-Tools">ELF Tool Chain Tools</a></li><li><a href="#The-LLDB-Debugger">The LLDB Debugger</a></li><li><a href="#Updates-to-GDB">Updates to GDB</a></li></ul><h3><a href="#Ports">Ports</a></h3><ul><li><a href="#Bringing-GitLab-into-the-Ports-Collection">Bringing GitLab into the Ports Collection</a></li><li><a href="#GNOME-on-FreeBSD">GNOME on FreeBSD</a></li><li><a href="#IPv6-Promotion-Campaign">IPv6 Promotion Campaign</a></li><li><a href="#KDE-on-FreeBSD">KDE on FreeBSD</a></li><li><a href="#Linux-Kernel-as-a-Library-Added-to-the-Ports-Collection">Linux Kernel as a Library Added to the Ports - Collection</a></li><li><a href="#LXQt-on-FreeBSD">LXQt on FreeBSD</a></li><li><a href="#New-Tools-to-Enhance-the-Porting-Experience">New Tools to Enhance the Porting Experience</a></li><li><a href="#Node.js-Modules">Node.js Modules</a></li><li><a href="#Ports-Collection">Ports Collection</a></li><li><a href="#Supporting-Variants-in-the-Ports-Framework">Supporting Variants in the Ports Framework</a></li><li><a href="#Xfce-on-FreeBSD">Xfce on FreeBSD</a></li></ul><h3><a href="#Documentation">Documentation</a></h3><ul><li><a href="#"FreeBSD-Mastery:-Specialty-Filesystems"-Early-Access-Version-Now-Available">"FreeBSD Mastery: Specialty Filesystems" Early Access Version Now Available</a></li><li><a href="#style(9)-Enhanced-to-Allow-C99-bool">style(9) Enhanced to Allow C99 - bool</a></li></ul><h3><a href="#Miscellaneous">Miscellaneous</a></h3><ul><li><a href="#HardenedBSD">HardenedBSD</a></li><li><a href="#NanoBSD-Modernization">NanoBSD Modernization</a></li><li><a href="#relaunchd">relaunchd</a></li><li><a href="#System-Initialization-and-Service-Management">System Initialization and Service Management</a></li><li><a href="#The-FreeBSD-Foundation">The FreeBSD Foundation</a></li></ul><ul></ul><hr /><br /><h1><a name="FreeBSD-Team-Reports" href="#FreeBSD-Team-Reports" id="FreeBSD-Team-Reports">FreeBSD Team Reports</a></h1><br /><h2><a name="FreeBSD-Release-Engineering-Team" href="#FreeBSD-Release-Engineering-Team" id="FreeBSD-Release-Engineering-Team">FreeBSD Release Engineering Team</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.freebsd.org/releases/10.3R/schedule.html" title="https://www.freebsd.org/releases/10.3R/schedule.html">FreeBSD 10.3-RELEASE schedule</a></td><td> - URL: <a href="https://www.freebsd.org/releases/10.3R/schedule.html" title="FreeBSD 10.3-RELEASE schedule">https://www.freebsd.org/releases/10.3R/schedule.html</a></td></tr><tr><td><a href="http://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/" title="http://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/">FreeBSD Development Snapshots</a></td><td> - URL: <a href="http://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/" title="FreeBSD Development Snapshots">http://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/</a></td></tr></table><p> - Contact: FreeBSD Release Engineering Team <<a href="mailto:re@FreeBSD.org">re@FreeBSD.org</a>> - </p> - <p>The FreeBSD Release Engineering Team is responsible for setting - and publishing release schedules for official project releases - of FreeBSD, announcing code freezes, and maintaining the - respective branches, among other things.</p> - - <p>During the last quarter of 2015, the Release Engineering team - added support for three additional FreeBSD/arm systems: - <tt>BANANAPI</tt>, <tt>CUBIEBOARD</tt>, and - <tt>CUBIEBOARD2</tt>.</p> - - <p>In addition to regular development snapshot builds for - FreeBSD 11.0-CURRENT and FreeBSD 10.2-STABLE, several - changes and enhancements were made to the release build code. - Of note, the release build code no longer produces MD5 - checksums, in favor of SHA512.</p> - - <p>Toward the end of the year, focus was primarily - centered on the upcoming FreeBSD 10.3 release cycle, - which will begin in January 2016.</p> - - <p>As always, help testing development snapshot builds is - crucial to producing quality releases, and we encourage - testing development snapshots whenever possible.</p> - <p>This project was sponsored by The FreeBSD Foundation.</p><hr /><h2><a name="Issue-Tracking-(Bugzilla)" href="#Issue-Tracking-(Bugzilla)" id="Issue-Tracking-(Bugzilla)">Issue Tracking (Bugzilla)</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://bugs.freebsd.org/bugzilla/" title="https://bugs.freebsd.org/bugzilla/">Bugzilla Home Page</a></td><td> - URL: <a href="https://bugs.freebsd.org/bugzilla/" title="Bugzilla Home Page">https://bugs.freebsd.org/bugzilla/</a></td></tr></table><p> - Contact: Bugmeisters <<a href="mailto:bugmeister@FreeBSD.org">bugmeister@FreeBSD.org</a>> - <br /> - Contact: - Kubilay - Kocak - <<a href="mailto:koobs@FreeBSD.org">koobs@FreeBSD.org</a>> - <br /> - Contact: - Mahdi - Mokhtari - <<a href="mailto:mokhi64@gmail.com">mokhi64@gmail.com</a>> - </p> - <p>The bugmeister team has gained a new member, Mahdi Mokhtari - (mokhi64@gmail.com). Mahdi has been contributing to the FreeBSD - Project for just over one month. After getting started by - creating ports for Chef-Server and MySQL 5.7 (with Bernard - Spil's help), an introduction to Kubilay Kocak led to guidance on - appropriate projects, such as Bugzilla development to help - Bugmeister, the Bugzilla Triage team, Developers, and the - community by making issue tracking better. This is how things - are going so far:</p> - - <p>Issue Tracking can be either "Defect Tracking for - Systems" or "Bug-Tracking for Systems". System - Defect Tracking is to allow individual or groups of developers - to keep track of outstanding issues in their product - effectively. We use Bugzilla to manage issues for the FreeBSD - project.</p> - - <p>We are pleased to announce some developments on our issue - management systems:</p> - - <ul> - <li>We have made improvements to the AutoAssigner module - (not yet deployed) that was previously developed by Marcus von Appen - to assign port bugs to their maintainers by default, such - as: - - <ul> - <li>Improvements and bugfixes to port detection in - the Summary: field of issues, for automatic assignment - to their maintainers in a better way.</li> - - <li>Refactoring code to make future development easier - and faster in a more modular way.</li> - </ul> - </li> - - <li>We have developed a new module (FBSDAttachment), which - automates setting maintainer-approval flag values on - attachments under most conditions. This will improve time - to resolution, consistency of triage, and reduce manual - effort by triagers and maintainers.</li> - - <li>We reported and upstreamed a number of bugs in Bugzilla, - working with the upstream Bugzilla developers.</li> - </ul> - <h3>Open tasks:</h3><ol><li> - <p>Major improvements to templates for usability and - simplicity.</p> - </li><li> - <p>Further improvements to automation (for example, - additional processing of commit logs).</p> - </li></ol><hr /><h2><a name="The-FreeBSD-Core-Team" href="#The-FreeBSD-Core-Team" id="The-FreeBSD-Core-Team">The FreeBSD Core Team</a></h2><p> - Contact: FreeBSD Core Team <<a href="mailto:core@FreeBSD.org">core@FreeBSD.org</a>> - </p> - <p>Two major issues have occupied much of core's attention - during the last quarter: the reorganisation of the Security - Team and the question of whether to import GPLv3 licensed code - into the source repository.</p> - - <ol> - <li> - <p>The idea of reorganizing the Security team was first - proposed to Core during a meeting at BSDCan this year by - Gleb Smirnoff — core member and newly-appointed - deputy Security Officer (SO). The "Security - Team", which previously could contain several people - (a varying number over time, but more than two) has been - refashioned into just two roles: Security Officer and - Deputy Security Officer. Accordingly, the role of the SO - team has been redefined to be the controller of the - distribution of security sensitive information into and - within the project: they are responsible for interfacing - with external bodies and individuals reporting security - problems to the project, and connecting those reports to - the appropriate individuals within the project with the - technical expertise to address the identified concerns. - These changes will improve the project's responsiveness to - security alerts, help maintain security on privileged - information received in confidence before general - publication and, not least, reduce the work load on the - security officer. The SO team will continue to benefit - from liasons with the Core, Cluster Administration, and - Release Engineering teams, and will be assisted by a - secretary; they will also be able to obtain input and - assistance in drafting security advisories from former and - potential future (Deputy) Security Officers.</p> - - <p>Core would particularly like to thank the former members - of the Security Team group for their past contributions, - now that the Security Team role has been merged into the - Security Officer's responsibilities.</p> - </li> - - <li> - <p>The other large question concerning Core is how to - provide a modern toolchain for all supported achitectures. - Tier 1 architectures are required to ship with a toolchain - unencumbered by onerous license terms. This is currently - provided for i386 and amd64 by the LLVM suite, including - the Clang compiler, LLD and LLDB. However LLVM support - for other (Tier 2 or below) architectures is not yet of - sufficient quality to be viable, and the older but - pre-existing GPLv2 toolchain cannot support some of the - interesting new architectures such as arm64 and RISC-V. - Pragmatically, in order for the project to support - these architectures, - until LLVM support arrives we must turn to the GNU - project's GPLv3 licenced toolchain.</p> - - <p>The argument here is whether to import GPLv3 licensed - code into the FreeBSD src repository with all of the - obligations on patent terms and source code redistribution - that would entail, not only for the FreeBSD project itself - but for numerous downstream consumers of FreeBSD code. Not - having a toolchain readily available is a big impediment - to working on a new architecture.</p> - - <p>One potential solution is to create a range of - "GPLv3 toolchain" base-system packages out of a - completely separate source code repository, for instance - within the FreeBSD area on Github. These would be - distributed equivalently to the other base system binary - packages when that mechanism is introduced.</p> - - <p>Core recognises that this is a decision with wide-ranging - consequences and will be producing a position paper for - circulation amongst all interested parties in order to - judge community opinion on the matter. Core welcomes - feedback from all interested parties on the subject.</p> - </li> - </ol> - - <p>Beyond these two big questions, Core has handled a number of - other items:</p> - - <ul> - <li>Core approved the formation of a wiki-admin team to take - over managing the Wiki, to curate the Wiki content and work - on navigation and organization of existing technical content - and to evaluate new Wiki software with the aim of opening up - the Wiki to contributions from the public.</li> - - <li>An external review board has been assembled to look at - the Code of Conduct, including a mixture of project members - and experts from external groups. The review process is - getting under way and Core is awaiting their report.</li> - - <li>The standard documentation license was found to be - unfit for its purpose, and the doceng group had temporarily - reverted to the previous license while a new replacement was - drafted. This new license is now the default for new - documentation submissions. However, one factor emerging - from this review was the difficulty of maintaining correct - authorial attributions for sections of documentation, some - of which may only be a few words long. Unlike source code, - blocks of documentation are frequently moved around within - individual files, or even between files. Consequently, Core - would like to introduce a Voluntary Contribution - Agreement along the lines of the one operated by the - Apache Foundation. With this, copyrights are signed over to - the FreeBSD Foundation, with individual contributions being - recognised by recording names in a general - "Authors" file. This will be another alternative - alongside the existing copyright mechanisms used in the - project. Core is interested to hear any opinions on the - subject.</li> - - <li>Core approved the formation of a new - "dev-announce" mailing list, which all FreeBSD - committers should be members of. This will be a low-traffic - moderated list to contain important announcements, - heads-ups, warnings of code freezes, changes in policy and - notifications of events that affect the project as a - whole.</li> - - <li>Around eight years ago, an attempt was made to import the - OpenBSD sensors framework. This was rejected at the time as - potentially blocking the development of a better designed - framework. However, no such development has occurred in the - intervening time whilst the sensors framework has been in - use successfully by both OpenBSD and FreeNAS. Despite some - concerns about the efficiency of the framework and potential - impacts on power consumption and hence battery lifetime, - core is minded to approve the import, but wants to consult - with interested developers first.</li> - - <li>Core is exploring the legal ramifications for the project - of the "Right to Be Forgotten" established by - the European Court of Justice.</li> - - <li>Core is also seeking an alternative means for holding - their regular monthly conference calls. The current, - paid-for, service has less than satisfactory sound quality - and reliability, and Core would like to switch to a free - video conferencing solution.</li> - </ul> - - <p>This quarter also saw a particularly large influx of new - commit bit requests, with on occasion, four votes running - simultaneously. Please welcome Kurt Lidl, Svatopluk Kraus, - Michal Meloun, Jonathan Looney (Juniper), Daisuke Aoyama, Phil - Shafer (Juniper), Ravi Pokala (Panasas), Anish Gupta and Mark - Bloch (Mellanox) to the ranks of src committers. In addition, - core was delighted to restore commit privileges for Eric - Melville after a hiatus of many years.</p> - - <p>No commit bits were taken in during the quarter. A - non-committer account was approved for Kevin Bowling of - LimeLight Networks. Kevin will be doing systems - administration work with clusteradm, with particular interest - in the parts of the cluster that are now hosted in LLNW's - facilities. Deb Goodkin of the FreeBSD Foundation was added to - the developers mailing list: she was one of the few members of - the Foundation Board not already on the list, and having - awareness of what is going on in the developer community will - help her to support the project more effectively.</p> - <hr /><h2><a name="The-FreeBSD-Issue-Triage-Team" href="#The-FreeBSD-Issue-Triage-Team" id="The-FreeBSD-Issue-Triage-Team">The FreeBSD Issue Triage Team</a></h2><p> - Contact: Bugmeister <<a href="mailto:bugmeister@FreeBSD.org">bugmeister@FreeBSD.org</a>> - <br /> - Contact: - Kubilay - Kocak - <<a href="mailto:koobs@FreeBSD.org">koobs@FreeBSD.org</a>> - <br /> - Contact: - Vladimir - Krstulja - <<a href="mailto:vlad-fbsd@acheronmedia.com">vlad-fbsd@acheronmedia.com</a>> - <br /> - Contact: - Rodrigo N. - Hernandez - <<a href="mailto:rodrigo.FreeBSD@minasambiente.com.br">rodrigo.FreeBSD@minasambiente.com.br</a>> - </p> - <p>By the end of the Q4 2015 period, Kubilay Kocak (koobs@) - started an initiative to form an experimental Bugzilla Triage - Team. The main goals of the team are to increase community - involvement (addition/training of new triagers) and enhance - current procedures and tools, among others. This experiment - was started with the participation of Vladimir (blackflow on - irc/freenode) and Rodrigo (DanDare on irc/freenode), who - approached koobs@ with a desire to contribute and get more - involved with the FreeBSD Project. This experimental pilot - project has the task of setting up procedures for enhanced - Issue (Problem Report) management that include better - classification and prioritization, eventually leading to - faster resolution of issues.</p> - - <p>We are now happy to report on the progress of this - experimental team:</p> - - <ul> - <li>The #FreeBSD-bugs IRC channel has been set up on Freenode - and we are successfully using it to exchange information - about triage processes, ask for help, propose changes and - discuss related topics.</li> - - <li>We have identified the primary role of an Issue Triage - Team to be that of classification of problem reports of all - kinds (currently limited mostly to ports and obvious src - issues) and facilitation of issue assignment, which is - making sure that the reported issues are explained well, - contain all the appropriate information (or as much of it as - possible), and are brought to attention of the people who - can act upon them.</li> - - <li>Vladimir and Rodrigo are successfully training in bug - triage as well as porting processes (Vladimir is also taking - maintainership of some ports).</li> - - <li>This experiment is benefiting from the introduction of - newcomers to issue tracking. It naturally resulted in a - entire review of the tracking process from its very - elementary aspects. This "fresh eyes" - participation spotted minor details during the process, - giving the opportunity to scrutinize actual procedures on a - number of smaller points, followed by proposals on how to - improve the overall Issue Tracking and Management. The new - ideas include both organizational and technical ideas and - solutions, such as new or modified keywords or flags for - better classification, the triage workflow, and Bugzilla - technical improvements, among others.</li> - - <li>An important goal is producing documentation about best - practices for using Bugzilla and issue management workflow. - This documentation should be aimed not only at people - directly engaged in issue triage tasks, but also at general - users. Another relevant point is that feedback from the triage - team can be used to improve Bugzilla in terms of adjusting - existing features to best fit FreeBSD's needs, and the development - of new features (please see Mahdi "Magic" - Mokhtari's report on "Bugzilla - improvements").</li> - - <li>We are still collating ideas in preparation of setting up - a Wiki namespace for the overall topic of issue management, - containing information for all the parties involved in issue - tracking: from users (reporters) to maintainers and - committers. The unorganized brainstorming document is - linked in this report.</li> </ul> - - <p>Since the Issue Triage Team is very young, we expect more - information be available and more actions to be reported in the - next status report.</p> - <h3>Open tasks:</h3><ol><li> - <p>Set up the Wiki namespace and organize the brainstorming - document into a meaningful set of documents.</p> - </li><li> - <p>We are actively recruiting to grow our FreeBSD Triage Team. - If you are interested in participating and contributing to - one of the most important community-facing areas of the FreeBSD - project, join #freebsd-bugs on the freenode IRC and let us - know!</p> - - <p>Experience with issue tracking is desirable, but not - required. No prior internal project knowledge or technical - skills are required, just bring your communication skills - and awesome attitude. Training is provided.</p> - </li></ol><hr /><br /><h1><a name="Projects" href="#Projects" id="Projects">Projects</a></h1><br /><h2><a name="CAM-I/O-Scheduler" href="#CAM-I/O-Scheduler" id="CAM-I/O-Scheduler">CAM I/O Scheduler</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://people.FreeBSD.org/~imp/bsdcan2015/iosched-v3.pdf" title="https://people.FreeBSD.org/~imp/bsdcan2015/iosched-v3.pdf">BSDCan Paper</a></td><td> - URL: <a href="https://people.FreeBSD.org/~imp/bsdcan2015/iosched-v3.pdf" title="BSDCan Paper">https://people.FreeBSD.org/~imp/bsdcan2015/iosched-v3.pdf</a></td></tr><tr><td><a href="https://reviews.FreeBSD.org/D4609" title="https://reviews.FreeBSD.org/D4609">Phabricator Review</a></td><td> - URL: <a href="https://reviews.FreeBSD.org/D4609" title="Phabricator Review">https://reviews.FreeBSD.org/D4609</a></td></tr></table><p> - Contact: - Warner - Losh - <<a href="mailto:imp@FreeBSD.org">imp@FreeBSD.org</a>> - </p> - <p>Reviews have begun on the CAM I/O scheduler that I wrote - for Netflix. It is anticipated that this process will be done - in time for the FreeBSD 11 branch.</p> - - <p>Details about this work can be found in the linked BSDcan - paper from last year.</p> - - <p>Briefly, the scheduler allows one to differentiate I/O types - and limit I/O based on the type and characteristics of the - I/Os (including the latency of recent requests relative to - historical averages). This is most useful when tuning system - loads to SSD performance. Both a simple default scheduler, - the same that we use today in FreeBSD, as well as a scheduler - that can be well-tuned for system loads related to video - streaming will be included.</p> - <p>This project was sponsored by Netflix, Inc.</p><hr /><h2><a name="Encrypted-Kernel-Crash-Dumps" href="#Encrypted-Kernel-Crash-Dumps" id="Encrypted-Kernel-Crash-Dumps">Encrypted Kernel Crash Dumps</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://lists.FreeBSD.org/pipermail/freebsd-security/2015-December/008780.html" title="https://lists.FreeBSD.org/pipermail/freebsd-security/2015-December/008780.html">Technical Details</a></td><td> - URL: <a href="https://lists.FreeBSD.org/pipermail/freebsd-security/2015-December/008780.html" title="Technical Details">https://lists.FreeBSD.org/pipermail/freebsd-security/2015-December/008780.html</a></td></tr><tr><td><a href="https://reviews.FreeBSD.org/D4712" title="https://reviews.FreeBSD.org/D4712">Patch Review</a></td><td> - URL: <a href="https://reviews.FreeBSD.org/D4712" title="Patch Review">https://reviews.FreeBSD.org/D4712</a></td></tr></table><p> - Contact: - Konrad - Witaszczyk - <<a href="mailto:def@FreeBSD.org">def@FreeBSD.org</a>> - </p> - <p>Kernel crash dumps contain information about currently - running processes. This can include sensitive data, for - example passwords kept in memory by a browser when a kernel - panic occurred. An entity that can read data from a dump - device or a crash directory can also extract this information - from a core dump. To prevent this situation, the core dump - should be encrypted before it is stored on the dump - device.</p> - - <p>This project allows a kernel to encrypt a core dump during - a panic. A user can configure the kernel for encrypted dumps - and save the core dump after reboot using the existing tools, - <tt>dumpon(8)</tt> and <tt>savecore(8)</tt>. A new tool - <tt>decryptcore(8)</tt> was added to decrypt the core - files.</p> - - <p>A patch has been uploaded to Phabricator for review. The - patch is currently being updated to address the review - comments, and should be committed as soon as it is accepted. - For more technical details, please visit the FreeBSD-security - mailing list archive or see the Phabricator review.</p> - <hr /><h2><a name="Jenkins-Continuous-Integration-for-FreeBSD" href="#Jenkins-Continuous-Integration-for-FreeBSD" id="Jenkins-Continuous-Integration-for-FreeBSD">Jenkins Continuous Integration for FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://jenkins.FreeBSD.org" title="https://jenkins.FreeBSD.org">The Jenkins CI Server in the FreeBSD Cluster</a></td><td> - URL: <a href="https://jenkins.FreeBSD.org" title="The Jenkins CI Server in the FreeBSD Cluster">https://jenkins.FreeBSD.org</a></td></tr><tr><td><a href="https://github.com/Ultima1252/portest" title="https://github.com/Ultima1252/portest">Portest Script</a></td><td> - URL: <a href="https://github.com/Ultima1252/portest" title="Portest Script">https://github.com/Ultima1252/portest</a></td></tr><tr><td><a href="https://github.com/jenkinsci/workflow-plugin" title="https://github.com/jenkinsci/workflow-plugin">Jenkins Workflow Plugin</a></td><td> - URL: <a href="https://github.com/jenkinsci/workflow-plugin" title="Jenkins Workflow Plugin">https://github.com/jenkinsci/workflow-plugin</a></td></tr><tr><td><a href="https://cloudbees.com" title="https://cloudbees.com">Cloudbees</a></td><td> - URL: <a href="https://cloudbees.com" title="Cloudbees">https://cloudbees.com</a></td></tr><tr><td><a href="https://github.com/uber/phabricator-jenkins-plugin" title="https://github.com/uber/phabricator-jenkins-plugin">Jenkins Phabricator Plugin</a></td><td> - URL: <a href="https://github.com/uber/phabricator-jenkins-plugin" title="Jenkins Phabricator Plugin">https://github.com/uber/phabricator-jenkins-plugin</a></td></tr><tr><td><a href="https://github.com/uber/phabricator-jenkins-plugin/pull/110" title="https://github.com/uber/phabricator-jenkins-plugin/pull/110">Phabricator Plugin Fixes</a></td><td> - URL: <a href="https://github.com/uber/phabricator-jenkins-plugin/pull/110" title="Phabricator Plugin Fixes">https://github.com/uber/phabricator-jenkins-plugin/pull/110</a></td></tr><tr><td><a href="https://github.com/jenkinsci/durable-task-plugin/pull/14" title="https://github.com/jenkinsci/durable-task-plugin/pull/14">Durable Task Plugin Fixes</a></td><td> - URL: <a href="https://github.com/jenkinsci/durable-task-plugin/pull/14" title="Durable Task Plugin Fixes">https://github.com/jenkinsci/durable-task-plugin/pull/14</a></td></tr><tr><td><a href="https://github.com/jenkinsci/clang-scanbuild-plugin/commits/master" title="https://github.com/jenkinsci/clang-scanbuild-plugin/commits/master">Clang Scanbuild Plugin Fixes</a></td><td> - URL: <a href="https://github.com/jenkinsci/clang-scanbuild-plugin/commits/master" title="Clang Scanbuild Plugin Fixes">https://github.com/jenkinsci/clang-scanbuild-plugin/commits/master</a></td></tr><tr><td><a href="https://github.com/jenkinsci/multiple-scms-plugin/commits/master" title="https://github.com/jenkinsci/multiple-scms-plugin/commits/master">Multiple SCMs Plugin Fixes</a></td><td> - URL: <a href="https://github.com/jenkinsci/multiple-scms-plugin/commits/master" title="Multiple SCMs Plugin Fixes">https://github.com/jenkinsci/multiple-scms-plugin/commits/master</a></td></tr><tr><td><a href="https://github.com/jenkinsci/scm-sync-configuration-plugin/commits/master" title="https://github.com/jenkinsci/scm-sync-configuration-plugin/commits/master">SCM Sync Configuration Plugin Fixes</a></td><td> - URL: <a href="https://github.com/jenkinsci/scm-sync-configuration-plugin/commits/master" title="SCM Sync Configuration Plugin Fixes">https://github.com/jenkinsci/scm-sync-configuration-plugin/commits/master</a></td></tr><tr><td><a href="https://lists.FreeBSD.org/pipermail/freebsd-testing/2016-January/001285.html" title="https://lists.FreeBSD.org/pipermail/freebsd-testing/2016-January/001285.html">Porting Jobs to the Workflow Plugin</a></td><td> - URL: <a href="https://lists.FreeBSD.org/pipermail/freebsd-testing/2016-January/001285.html" title="Porting Jobs to the Workflow Plugin">https://lists.FreeBSD.org/pipermail/freebsd-testing/2016-January/001285.html</a></td></tr><tr><td><a href="https://github.com/kohsuke/akuma/pull/9" title="https://github.com/kohsuke/akuma/pull/9">Akuma Fixes for FreeBSD</a></td><td> - URL: <a href="https://github.com/kohsuke/akuma/pull/9" title="Akuma Fixes for FreeBSD">https://github.com/kohsuke/akuma/pull/9</a></td></tr><tr><td><a href="https://github.com/jmmv/kyua/pull/148" title="https://github.com/jmmv/kyua/pull/148">Kyua Fix for Invalid Characters</a></td><td> - URL: <a href="https://github.com/jmmv/kyua/pull/148" title="Kyua Fix for Invalid Characters">https://github.com/jmmv/kyua/pull/148</a></td></tr></table><p> - Contact: - Craig - Rodrigues - <<a href="mailto:rodrigc@FreeBSD.org">rodrigc@FreeBSD.org</a>> - <br /> - Contact: Jenkins Administrators <<a href="mailto:jenkins-admin@FreeBSD.org">jenkins-admin@FreeBSD.org</a>> - <br /> - Contact: FreeBSD Testing <<a href="mailto:FreeBSD-testing@freebsd.org">FreeBSD-testing@freebsd.org</a>> - </p> - <p>The Jenkins Continuous Integration and Testing project - has been helping to improve the quality of FreeBSD. Since the - last status report, we have quickly found commits that caused - build breakage or test failures. FreeBSD developers saw these - problems and quickly fixed them. Some of the highlights - include:</p> - - <ul> - <li>Ricky Gallagher wrote a script named <tt>portest</tt>, - which can take a patch to the FreeBSD ports tree as input, and - can generate a sequence of commands to check out the ports - tree from Subversion, apply the patch, and then invoke - <tt>poudriere</tt> to build the affected part of the ports - tree. Ricky consulted with Torsten Zühlsdorff - during its development. - This script will be used later to test changes to the ports - tree.</li> - - <li> - <p>Craig Rodrigues converted some Jenkins builds to use the - Workflow plugin. Workflow is a plugin written by Jesse - Glick and other developers at Cloudbees, the main company - providing commercial support for Jenkins. With this - plugin, a Jenkins job can be written in a Domain Specific - Language (DSL) which is written in the Groovy scripting - language. Workflow scripts are meant to provide - sophisticated access to Jenkins functionality, in a simple - scripting language. As Jenkins jobs get more complicated - and have more interdependencies, using a DSL is easier for - maintainability instead of creating Jenkins jobs via - menus.</p> - - <p>Craig Rodrigues worked with Jesse Glick to identify and fix a - problem with the Durable Task plugin used by the workflow - plugin. This problem seemed to show up mostly on - non-Linux platforms such as OS X and FreeBSD.</p> - </li> - - <li> - <p>Eitan Adler worked with Craig Rodrigues to test a Jenkins - plugin written by Aiden Scandella at Uber which integrates - Phabricator and Jenkins. With this plugin, if someone - submits a code review with Phabricator's Differential - tool, a Jenkins build with this code change will be - triggered. The Phabricator code review would then be - updated with the result of the build.</p> - - <p>Eitan Adler and Craig Rodrigues had some initial success - testing this plugin using the FreeBSD docs repository, but - this plugin still has a lot of hardcoded dependencies - specific to Uber's environment which make it difficult to - use out-of-the-box for FreeBSD. Alexander Yerenkow submitted - some patches upstream to fix some of these problems, but - this plugin still needs more work. Craig Rodrigues thinks - that it might be better to write a workflow script to call - Phabricator commands directly.</p> - </li> - - <li> - <p>Craig Rodrigues pushed fixes upstream to several - plugins including:</p> - - <ul> - <li>SCM Sync configuration plugin</li> - - <li>NodeLabel parameter plugin</li> - - <li>Subversion plugin</li> - - <li>Multiple SCMs plugin</li> - - <li>Clang Scanbuild plugin</li> - </ul> - - <p>Craig Rodrigues was granted commit access to the SCM - Sync configuration plugin, Multiple SCMs plugin, and Clang - Scanbuild plugin.</p> - </li> - - <li>Li-Wen Hsu set up multiple builds using jails on machines - located at NYI and administered by the FreeBSD Cluster - Administrators. One of these builds targets 64-bit - ARM.</li> - - <li>Michael Zhilin fixed the Akuma library for FreeBSD. The - Akuma library is used by Jenkins to determine what - command-line arguments were passed to a running process. To - fix it, Michael invoked an FreeBSD-specific <tt>sysctl()</tt> - with KERN_PROC_ARGS to determine the arguments for a running - pid. This fix allows a running Jenkins instance to restart - itself after new plugins are installed.</li> - - <li>Julio Merino accepted a fix for Kyua from Craig Rodrigues to fix - writing out XML characters to test report files.</li> - </ul> - <h3>Open tasks:</h3><ol><li> - <p>Work more on using the workflow plugin for various - builds.</p> - </li><li> - <p>Set up a build to test <tt>bmake</tt>'s meta-mode.</p> - </li><li> - <p>Finish off integration with Phabricator.</p> - </li><li> - <p>People interested in helping out should join the - freebsd-testing@FreeBSD.org list.</p> - </li></ol><hr /><h2><a name="Mellanox-iSCSI-Extensions-for-RDMA-(iSER)-Support" href="#Mellanox-iSCSI-Extensions-for-RDMA-(iSER)-Support" id="Mellanox-iSCSI-Extensions-for-RDMA-(iSER)-Support">Mellanox iSCSI Extensions for RDMA (iSER) Support</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/sagigrimberg/iser-FreeBSD" title="https://github.com/sagigrimberg/iser-FreeBSD">GitHub repository</a></td><td> - URL: <a href="https://github.com/sagigrimberg/iser-FreeBSD" title="GitHub repository">https://github.com/sagigrimberg/iser-FreeBSD</a></td></tr></table><p> - Contact: - Max - Gurtovoy - <<a href="mailto:maxg@mellanox.com">maxg@mellanox.com</a>> - <br /> - Contact: - Sagi - Grimberg - <<a href="mailto:sagig@mellanox.com">sagig@mellanox.com</a>> - </p> - <p>Building on the new in-kernel iSCSI initiator stack - released in FreeBSD 10.0 and the recently added iSCSI offload - interface, Mellanox Technologies has developed iSCSI - extensions for RDMA (iSER) initiator support to enable - efficient data movement using the hardware offload - capabilities of Mellanox's 10, 40, 56, and 100 Gigabit - Infiniband (IB)/Ethernet adapters.</p> - - <p>Remote Direct Memory Access (RDMA) has been shown to have - great value for storage applications. RDMA infrastructure - provides benefits such as zero-copy, CPU offload, reliable - transport, fabric consolidation, and many more. The iSER - protocol eliminates some of the bottlenecks in the traditional - iSCSI/TCP stack, provides low latency and high throughput, and - is well suited for latency aware workloads.</p> - - <p>This work includes a new ICL module that implements the iSER - initiator. The iSCSI stack is slightly modified to support - some extra features such as asynchronous IO completions, - unmapped data buffers, and data-transfer offloads. The user - will be able to choose iSER as the iSCSI transport with - iscsictl.</p> - - <p>The project is in the process of being merged to FreeBSD - 11-CURRENT and is expected to ship with FreeBSD 11.0.</p> - <p>This project was sponsored by Mellanox Technologies.</p><hr /><h2><a name="MIPS:-Ralink/Mediatek-Support" href="#MIPS:-Ralink/Mediatek-Support" id="MIPS:-Ralink/Mediatek-Support">MIPS: Ralink/Mediatek Support</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/sgalabov/FreeBSD/tree/local/sgalabov_mtk" title="https://github.com/sgalabov/FreeBSD/tree/local/sgalabov_mtk">Github Branch With Work in Progress</a></td><td> - URL: <a href="https://github.com/sgalabov/FreeBSD/tree/local/sgalabov_mtk" title="Github Branch With Work in Progress">https://github.com/sgalabov/FreeBSD/tree/local/sgalabov_mtk</a></td></tr></table><p> - Contact: - Stanislav - Galabov - <<a href="mailto:sgalabov@gmail.com">sgalabov@gmail.com</a>> - </p> - <p>This project is aimed at adding FreeBSD support for - Ralink/Mediatek's family of WiFi router system-on-chip (SoC) - devices based on MIPS processors. These SoCs are commonly - found in embedded network devices such as WiFi routers. - Having support for these SoCs would allow FreeBSD to run on a - number of additional low-cost devices, which could help spread - FreeBSD's popularity in the embedded systems world.</p> - - <p>The project currently aims to support the following - Ralink/Mediatek chipsets: RT3050, RT3052, RT3350, RT3352, - RT3662, RT3883, RT5350, RT6855, RT6856, MT7620, MT7621, MT7628 - and MT7688. The following functionality (where applicable) is - currently planned to be supported: Interrupt controller, UART, - GPIO, USB, PCI/PCIe, Ethernet, and SPI.</p> - <p>This project was sponsored by Smartcom - Bulgaria AD.</p><h3>Open tasks:</h3><ol><li> - <p>Help with adding WiFi driver support (possibly to - <tt>ral(4)</tt>) for the above SoCs would be greatly - appreciated.</p> - </li><li> - <p>Help with refactoring <tt>if_rt(4)</tt> to be usable on - all of the above SoCs would be appreciated.</p> - </li><li> - <p>Help wth testing target boards (e.g., WiFi routers) - would be appreciated.</p> - </li></ol><hr /><h2><a name="Multipath-TCP-for-FreeBSD" href="#Multipath-TCP-for-FreeBSD" id="Multipath-TCP-for-FreeBSD">Multipath TCP for FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://bitbucket.org/nw-swin/caia-mptcp-freebsd/" title="https://bitbucket.org/nw-swin/caia-mptcp-freebsd/">MPTCP for FreeBSD Repository</a></td><td> - URL: <a href="https://bitbucket.org/nw-swin/caia-mptcp-freebsd/" title="MPTCP for FreeBSD Repository">https://bitbucket.org/nw-swin/caia-mptcp-freebsd/</a></td></tr><tr><td><a href="http://caia.swin.edu.au/urp/newtcp/mptcp/" title="http://caia.swin.edu.au/urp/newtcp/mptcp/">MPTCP for FreeBSD Project Website</a></td><td> - URL: <a href="http://caia.swin.edu.au/urp/newtcp/mptcp/" title="MPTCP for FreeBSD Project Website">http://caia.swin.edu.au/urp/newtcp/mptcp/</a></td></tr></table><p> - Contact: - Nigel - Williams - <<a href="mailto:njwilliams@swin.edu.au">njwilliams@swin.edu.au</a>> - </p> - <p>Multipath TCP (MPTCP) is an extension to TCP that allows for - the use of multiple network interfaces on a standard TCP - session. The addition of new addresses and scheduling of data - across these occurs transparently from the perspective of the - TCP application.</p> - - <p>The goal of this project is to deliver an MPTCP kernel patch - that interoperates with the reference MPTCP implementation, - along with additional enhancements to aid network - research.</p> - - <p>A v0.51 release has been tagged in our repository, with - some minor improvements over v0.5.</p> - - <p>We have now removed much of the MPTCP code that was inside - the functions <tt>tcp_do_segment</tt>, <tt>tcp_output</tt>, - and other code used for standard TCP connections. The goal of - this is to restrict the added MPTCP code to just MPTCP - connections, leaving regular TCP connections using the - existing code.</p> - - <p>We are currently in the process of implementing a subflow - socket buffer upcall and event processing. These will handle - changes in subflow socket state, MP-signalling, and incoming - data segments.</p> - - <p>This also requires some re-working of the MP option - processing, particularly how incoming DSN maps are parsed and - stored for use during MP-layer reassembly.</p> - - <p>We are also looking at how our changes might take advantage - of the new TCP stack modularisation enhancements to create - subflow-specific TCP functions.</p> - <p>This project was sponsored by The Cisco University Research Program Fund at Community Foundation Silicon Valley, and The FreeBSD Foundation.</p><h3>Open tasks:</h3><ol><li> - <p>Complete the implementations of subflow event processing - and new option parsing.</p> - </li><li> - <p>Update documentation and task lists.</p> - </li></ol><hr /><h2><a name="OpenBSM" href="#OpenBSM" id="OpenBSM">OpenBSM</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.openbsm.org" title="http://www.openbsm.org">OpenBSM: Open Source Basic Security Module (BSM) Audit Implementation</a></td><td> - URL: <a href="http://www.openbsm.org" title="OpenBSM: Open Source Basic Security Module (BSM) Audit Implementation">http://www.openbsm.org</a></td></tr><tr><td><a href="https://github.com/openbsm/openbsm" title="https://github.com/openbsm/openbsm">OpenBSM on GitHub</a></td><td> - URL: <a href="https://github.com/openbsm/openbsm" title="OpenBSM on GitHub">https://github.com/openbsm/openbsm</a></td></tr><tr><td><a href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/audit.html" title="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/audit.html">FreeBSD Audit Handbook Chapter</a></td><td> - URL: <a href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/audit.html" title="FreeBSD Audit Handbook Chapter">https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/audit.html</a></td></tr></table><p> - Contact: - Christian - Brueffer - <<a href="mailto:brueffer@FreeBSD.org">brueffer@FreeBSD.org</a>> - <br /> - Contact: - Robert - Watson - <<a href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>> - <br /> - Contact: TrustedBSD audit mailing list <<a href="mailto:trustedbsd-audit@TrustedBSD.org">trustedbsd-audit@TrustedBSD.org</a>> - </p> - <p>OpenBSM is a BSD-licensed implementation of Sun's Basic - Security Module (BSM) API and file format. It is the - user-space side of the CAPP Audit implementations in FreeBSD and - Mac OS X. Additionally, the audit trail processing tools are - expected to work on Linux.</p> - - <p>Progress has been slow but steady this quarter, culminating - in OpenBSM 1.2 alpha 4, the first release in three years. It - features various bug fixes and documentation improvements; the - complete list of changes is documented in the - <a href="https://github.com/openbsm/openbsm/blob/master/NEWS" shape="rect">NEWS</a> - file on GitHub. The release was imported into FreeBSD head and - merged to FreeBSD 10-STABLE. As such, it will be part of FreeBSD - 10.3-RELEASE.</p> - <h3>Open tasks:</h3><ol><li> - <p>Test the new release on different versions of FreeBSD, Mac OS - X, and Linux. In particular, testing on Mac OS X 10.9 - (Mavericks) and newer would be greatly appreciated.</p> - </li><li> - <p>Fix problems that have been reported via GitHub and the - FreeBSD bug tracker.</p> - </li><li> - <p>Implement features mentioned in the - <a href="https://github.com/openbsm/openbsm/blob/master/TODO" shape="rect">TODO</a> - list on GitHub.</p> - </li></ol><hr /><h2><a name="Raspberry-Pi:-VideoCore-Userland-Application-Packaging" href="#Raspberry-Pi:-VideoCore-Userland-Application-Packaging" id="Raspberry-Pi:-VideoCore-Userland-Application-Packaging">Raspberry Pi: VideoCore Userland Application - Packaging</a></h2><p> - Contact: - Mikaël - Urankar - <<a href="mailto:mikael.urankar@gmail.com">mikael.urankar@gmail.com</a>> - <br /> - Contact: - Oleksandr - Tymoshenko - <<a href="mailto:gonzo@FreeBSD.org">gonzo@FreeBSD.org</a>> - </p> - <p>The Raspberry Pi SoC consists of two parts: ARM and GPU - (VideoCore). Many interesting features like OpenGL, video - playback, and HDMI controls are implemented on the VideoCore - side and can be accessed from the OS through libraries - provided by Broadcom (userland repo). These libraries were - ported to FreeBSD some time ago, so Mikaël created the port - <tt>misc/raspberrypi-userland</tt> for them. He also created - a port for <tt>omxplayer</tt> (a low-level video player that - utilizes VideoCore APIs) and is working on a port for Kodi - (formerly XBMC), a more user-firendly media player software - with Raspberry Pi support.</p> - <hr /><h2><a name="RCTL-Disk-IO-Limits" href="#RCTL-Disk-IO-Limits" id="RCTL-Disk-IO-Limits">RCTL Disk IO Limits</a></h2><p> - Contact: - Edward Tomasz - Napierala - <<a href="mailto:trasz@FreeBSD.org">trasz@FreeBSD.org</a>> - </p> - <p>An important missing piece of the RCTL resource limits - mechanism was the ability to limit disk throughput. This - project aims to fill that hole by making it possible to add - RCTL rules for read bytes per second (BPS), write BPS, read - I/O operations per second (IOPS), and write IOPS. It also - adds a new throttling mechanism to delay process execution - when a limit is reached.</p> - - <p>The project is at the late implementation stage. The major - piece of work left apart from testing is to integrate it with - ZFS. The project is expected to ship with FreeBSD 11.0.</p> - <p>This project was sponsored by The FreeBSD Foundation.</p><hr /><h2><a name="Root-Remount" href="#Root-Remount" id="Root-Remount">Root Remount</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://svnweb.freebsd.org/base?view=revision&revision=290548" title="https://svnweb.freebsd.org/base?view=revision&revision=290548">Commit to Head</a></td><td> - URL: <a href="https://svnweb.freebsd.org/base?view=revision&revision=290548" title="Commit to Head">https://svnweb.freebsd.org/base?view=revision&revision=290548</a></td></tr><tr><td><a href="https://svnweb.freebsd.org/base/head/sbin/reboot/reboot.8?r1=290548&r2=290547&pathrev=290548" title="https://svnweb.freebsd.org/base/head/sbin/reboot/reboot.8?r1=290548&r2=290547&pathrev=290548">reboot(8) Manual Page Changes</a></td><td> - URL: <a href="https://svnweb.freebsd.org/base/head/sbin/reboot/reboot.8?r1=290548&r2=290547&pathrev=290548" title="reboot(8) Manual Page Changes">https://svnweb.freebsd.org/base/head/sbin/reboot/reboot.8?r1=290548&r2=290547&pathrev=290548</a></td></tr></table><p> - Contact: - Edward Tomasz - Napierala - <<a href="mailto:trasz@FreeBSD.org">trasz@FreeBSD.org</a>> - </p> - <p>One of the long-missing features of FreeBSD was the ability to - boot up with a temporary rootfs, configure the kernel to be - able to access the real rootfs, and then replace the temporary - root with the real one. In Linux, this functionality is known - as pivot_root. The reroot projects provides similar - functionality in a different, slightly more user-friendly way: - rerooting. Simply put, from the user point of view it looks - like the system performs a partial shutdown, killing all - processes and unmounting the rootfs, and then partial bringup, - mounting the new rootfs, running init, and running the startup - scripts as usual.</p> - - <p>The project is finished. All the relevant code has been - committed to FreeBSD 11-CURRENT and is expected to ship with FreeBSD - 11.0.</p> - <p>This project was sponsored by The FreeBSD Foundation.</p><hr /><h2><a name="Routing-Stack-Update" href="#Routing-Stack-Update" id="Routing-Stack-Update">Routing Stack Update</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://wiki.freebsd.org/ProjectsRoutingProposal" title="http://wiki.freebsd.org/ProjectsRoutingProposal">Initial Proposal</a></td><td> - URL: <a href="http://wiki.freebsd.org/ProjectsRoutingProposal" title="Initial Proposal">http://wiki.freebsd.org/ProjectsRoutingProposal</a></td></tr></table><p> - Contact: - Alexander - Chernikov - <<a href="mailto:melifaro@FreeBSD.org">melifaro@FreeBSD.org</a>> - </p> - <p>The <tt>projects/routing</tt> Subversion branch is a FreeBSD - routing system rework aimed at providing performance, - scalability and the ability to add advanced features to the - routing stack.</p> - - <p>The current packet output path suffers from excessive - locking. Acquiring and releasing four distinct contested - locks is required to convert a packet to a frame suitable to - put on the wire. The first project goal is to reduce the - number of locks needed to just two <tt>rmlock(9)</tt>s for the - output path, which permits close-to-linear scaling.</p> - - <p>Since September, one of the locks (used to protect - link-level entries) has been completely eliminated from the - packet data path. A new routing API was introduced, featuring - better scalability and hiding routing internals. Most of the - consumers of the old routing API were converted to use the new - API.</p> - <hr /><h2><a name="The-Graphics-Stack-on-FreeBSD" href="#The-Graphics-Stack-on-FreeBSD" id="The-Graphics-Stack-on-FreeBSD">The Graphics Stack on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/Graphics" title="https://wiki.FreeBSD.org/Graphics">Graphics Stack Roadmap and Supported Hardware Matrix</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/Graphics" title="Graphics Stack Roadmap and Supported Hardware Matrix">https://wiki.FreeBSD.org/Graphics</a></td></tr><tr><td><a href="https://github.com/FreeBSD/freebsd-ports-graphics" title="https://github.com/FreeBSD/freebsd-ports-graphics">Ports Development Tree on GitHub</a></td><td> - URL: <a href="https://github.com/FreeBSD/freebsd-ports-graphics" title="Ports Development Tree on GitHub">https://github.com/FreeBSD/freebsd-ports-graphics</a></td></tr></table><p> - Contact: FreeBSD Graphics team <<a href="mailto:freebsd-x11@freebsd.org">freebsd-x11@freebsd.org</a>> - </p> - <p>Several important ports were updated: Mesa to 11.0.8, the - X.Org server to 1.17.4, libdrm to 2.4.65, as well as many - applications and libraries. The latest release of the X.Org - server, 1.18, is being tested in our Ports development - tree.</p> - - <p>On the kernel side, the i915 update is almost ready to - land. There are a couple known regressions for currently - supported GPUs that we want to fix before committing.</p> - - <p>We started a discussion on the FreeBSD-x11@ mailing list to - organize future contributions to the kernel drivers. We have - already received some valuable comments. We are confident - that future updates will happen at a faster pace, thanks to - several motivated people!</p> - - <p>FOSDEM is held in Brussels on the 30th and 31st of January. - We will attend this conference. It will be a perfect time to - see people again from FreeBSD and from the XDC. On Sunday, we - will give a talk about how to contribute to the Graphics - Stack.</p> - - <p>Our blog is currently down because the service was - discontinued. We hope to get a dump of our data to put it - back online elsewhere. Unfortunately, there is no ETA for - this item.</p> - <h3>Open tasks:</h3><ol><li> - <p>See the "Graphics" wiki page for up-to-date - information.</p> - </li></ol><hr /><h2><a name="The-nosh-Project" href="#The-nosh-Project" id="The-nosh-Project">The nosh Project</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html" title="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html">Introduction</a></td><td> - URL: <a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html" title="Introduction">http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html</a></td></tr><tr><td><a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/freebsd-binary-packages.html" title="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/freebsd-binary-packages.html">FreeBSD binary packages</a></td><td> - URL: <a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/freebsd-binary-packages.html" title="FreeBSD binary packages">http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/freebsd-binary-packages.html</a></td></tr><tr><td><a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/timorous-admin-installation-how-to.html" title="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/timorous-admin-installation-how-to.html">Installation How-To</a></td><td> - URL: <a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/timorous-admin-installation-how-to.html" title="Installation How-To">http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/timorous-admin-installation-how-to.html</a></td></tr><tr><td><a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/roadmap.html" title="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/roadmap.html">Roadmap</a></td><td> - URL: <a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/roadmap.html" title="Roadmap">http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/roadmap.html</a></td></tr><tr><td><a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/commands.html" title="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/commands.html">Commands</a></td><td> - URL: <a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/commands.html" title="Commands">http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/commands.html</a></td></tr><tr><td><a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/guide/index.html" title="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/guide/index.html">A Slightly Outdated User Guide</a></td><td> - URL: <a href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/guide/index.html" title="A Slightly Outdated User Guide">http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/guide/index.html</a></td></tr><tr><td><a href="https://www.mail-archive.com/supervision@list.skarnet.org/" title="https://www.mail-archive.com/supervision@list.skarnet.org/">The Supervision Mailing List</a></td><td> - URL: <a href="https://www.mail-archive.com/supervision@list.skarnet.org/" title="The Supervision Mailing List">https://www.mail-archive.com/supervision@list.skarnet.org/</a></td></tr></table><p> - Contact: - Jonathan - de Boyne Pollard - <<a href="mailto:J.deBoynePollard-newsgroups@NTLWorld.COM">J.deBoynePollard-newsgroups@NTLWorld.COM</a>> - </p> - <p>The nosh project is a suite of system-level utilities for - initializing, running, and shutting down BSD systems, and for - managing daemons, terminals, and logging. It supersedes BSD - <tt>init</tt> and the NetBSD <tt>rc.d</tt> system, drawing - inspiration from Solaris SMF for named milestones, - daemontools-encore for service control/status mechanisms, - UCSPI, and IBM AIX for separated service and system - management. It comprises a range of compatibility mechanisms, - including shims for familiar commands from other systems, and - an automatic import mechanism that takes existing - configuration data from <tt>/etc/fstab</tt>, - <tt>/etc/rc.conf{,.local}</tt>, <tt>/etc/ttys</tt>, and - elsewhere, applying them to its native service definitions and - creating additional native services. It is portable - (including to Linux) and composable, it provides a migration - path from the world of systemd Linux, and it does not require - new kernel APIs. It provides clean service environments, - orderings and dependencies between services, parallelized - startup and shutdown (including <tt>fsck</tt>), strictly - size-capped and autorotated logging, the service manager as a - "subreaper", and uses <tt>kevent(2)</tt> for - event-driven parallelism.</p> - - <p>Since the last status report, in October 2015, the project - has seen: the complete replacement of its event-handling - subsystem on Linux; the introduction of tools for exporting - cyclog/multilog logs via RFC 5426 to remote log handlers (such - as logstash); and the switching of the user-mode virtual - terminal subsystem on BSD to using USB devices directly, a - more powerful device interface than sysmouse et al. because it - permits directly positioning touch devices for mice and other - things (thus permitting "mouse integration" under - VirtualBox for those who run PC-BSD/FreeBSD on VirtualBox virtual - machines), but sysmouse et al. can still be used if - desired.</p> - - <p>In version 1.24, released shortly before publication of this - report, there are extensive additions for supporting a - purely-ZFS system with an empty <tt>/etc/fstab</tt> (as the - PC-BSD 10.2 system installer creates), and the ability to - convert <tt>systemd</tt> unit files' process priority settings - to BSD's rtprio/idprio.</p> - - <p>Version 1.24 also sees a large chunk taken out of the - remainder of the on-going project to create enough native - service bundles and ancillary utilities to entirely supplant - the <tt>rc.d</tt> system. The progress of this project has - been open from the start, and can be followed on the nosh - roadmap web page. As of version 1.24, there are a mere 27 - items remaining out of the original target list of 157, with a - 28th and a 29th (from PC-BSD 10.2) added. Items crossed off - by version 1.24 include (amongst others) <tt>mfs</tt> support - for <tt>/tmp</tt>, static ARP and networking, persistent - entropy for the randomness subsystem, - <tt>pefs</tt>, and <tt>hald</tt>.</p> - - <p>The remaining items in the task list are mostly aimed at - making the overall system integration cleaner and friendlier - to modern systems. We are also interested in receiving - suggestions, bug reports, and other feedback from users. Try - following the how-to guide and see how things go!</p> - <h3>Open tasks:</h3><ol><li> - <p>Add kernel support for passing a <tt>-b</tt> option to - PID 1, and support for a <tt>boot_bare</tt> variable in the - loader, to allow "emergency" (where no shell - dotfiles are loaded) and "rescue" mode bootstraps, - akin to Linux. (History: the <tt>-b</tt> mechanism and idea - date back to version 2.57d of Miquel van Smoorenburg's - System 5 init clone, dated 1995-12-03, and was already known - as "emergency boot" by 1997.)</p> - </li><li> - <p>Add support to FreeBSD's <tt>fsck(8)</tt> for outputting - machine-readable progress reports to a designated file - descriptor, so that <tt>nosh</tt> can provide progress bars - for multiple <tt>fsck</tt>s running in parallel. - <tt>nosh</tt> already provides this functionality on Linux, - where <tt>fsck(8)</tt> does provide machine-readable - output.</p> - </li><li> - <p>Identify when the configuration import system needs to be - triggered, such as when <tt>bsdconfig</tt> alters - configuration files, and create the necessary hooks to - import external configuration changes into nosh.</p> - </li></ol><hr /><h2><a name="UEFI-Boot-and-Framebuffer-Support" href="#UEFI-Boot-and-Framebuffer-Support" id="UEFI-Boot-and-Framebuffer-Support">UEFI Boot and Framebuffer Support</a></h2><p> - Contact: - Ed - Maste - <<a href="mailto:emaste@FreeBSD.org">emaste@FreeBSD.org</a>> - </p> - <p>A number of UEFI bug fixes were committed over the last - quarter, further improving compatibility with different UEFI - implementations. Specifically: on some implementations, FreeBSD - failed to boot with an "ExitBootServices() returned - 0x8000000000000002" error. This has been fixed with a - retry loop (as required by UEFI) in r292515 and r292338.</p> - - <p>UEFI improvements from other developers have recently been - committed or are in progress. These include support for - environment variables set on the EFI loader command line, - improved text console mode setting, support for nvram - variables, and root-on-ZFS support.</p> - <p>This project was sponsored by The FreeBSD Foundation.</p><h3>Open tasks:</h3><ol><li> - <p>Test FreeBSD-CURRENT snapshots on a variety of UEFI - implementations.</p></li><li> - <p>Merge UEFI changes to stable/10 for FreeBSD - 10.3-RELEASE.</p> - </li></ol><hr /><br /><h1><a name="Kernel" href="#Kernel" id="Kernel">Kernel</a></h1><br /><h2><a name="Chelsio-iSCSI-Offload-Driver-(Initiator-and-Target)" href="#Chelsio-iSCSI-Offload-Driver-(Initiator-and-Target)" id="Chelsio-iSCSI-Offload-Driver-(Initiator-and-Target)">Chelsio iSCSI Offload Driver (Initiator and Target)</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://svnweb.freebsd.org/changeset/base/292740" title="https://svnweb.freebsd.org/changeset/base/292740">Commit Adding Hardware Acceleration Support</a></td><td> - URL: <a href="https://svnweb.freebsd.org/changeset/base/292740" title="Commit Adding Hardware Acceleration Support">https://svnweb.freebsd.org/changeset/base/292740</a></td></tr></table><p> - Contact: - Navdeep - Parhar - <<a href="mailto:navdeep@chelsio.com">navdeep@chelsio.com</a>> - </p> - <p>A new driver, <tt>cxgbei</tt>, enabling hardware accelerated - iSCSI with Chelsio's T5- and T4-based offload-capable cards, - has been committed to head. Both Initiator and Target are - supported. The wire traffic is standard iSCSI (SCSI over TCP - as per RFC 3720, etc.) so an Initiator/Target using this - driver will interoperate with all other standards-compliant - implementations.</p> - - <p>Hardware assistance provided by the T5 and T4 ASICs - includes:</p> - - <ul> - <li>Complete TCP processing.</li> - - <li>iSCSI PDU identification and extraction from the byte - oriented TCP stream.</li> - - <li>Header and/or data digest generation and - verification.</li> - - <li>Zero copy support for both transmit and receive.</li> - </ul> - <p>This project was sponsored by Chelsio Communications.</p><h3>Open tasks:</h3><ol><li> - <p>The <tt>cxgbei(4)</tt> man page is missing but will be - committed shortly.</p> - </li><li> - <p>The driver is in advanced stage QA and will see some - bugfixes and performance enhancements in the very near - future. MFC is possible as soon as the QA cycle - completes.</p> - </li></ol><hr /><h2><a name="FreeBSD-Integration-Services-(BIS)" href="#FreeBSD-Integration-Services-(BIS)" id="FreeBSD-Integration-Services-(BIS)">FreeBSD Integration Services (BIS)</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/HyperV" title="https://wiki.FreeBSD.org/HyperV">FreeBSD Virtual Machines on Microsoft Hyper-V</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/HyperV" title="FreeBSD Virtual Machines on Microsoft Hyper-V">https://wiki.FreeBSD.org/HyperV</a></td></tr><tr><td><a href="https://technet.microsoft.com/en-us/library/dn531030.aspx" title="https://technet.microsoft.com/en-us/library/dn531030.aspx">Linux and FreeBSD Virtual Machines on Hyper-V</a></td><td> - URL: <a href="https://technet.microsoft.com/en-us/library/dn531030.aspx" title="Linux and FreeBSD Virtual Machines on Hyper-V">https://technet.microsoft.com/en-us/library/dn531030.aspx</a></td></tr></table><p> - Contact: - Dexuan - Cui - <<a href="mailto:decui@microsoft.com">decui@microsoft.com</a>> - <br /> - Contact: - Hongjiang - Zhang - <<a href="mailto:honzhan@microsoft.com">honzhan@microsoft.com</a>> - </p> - <p>When FreeBSD virtual machines (VMs) run on Hyper-V, using - Hyper-V synthetic devices is recommended to get the best - network and storage performance and make full use of all the - benefits that Hyper-V provides. The collection of drivers - that are required to run Hyper-V synthetic devices in FreeBSD are - known as FreeBSD Integration Services (BIS). Some of the BIS - drivers (like network and storage drivers) have existed in - FreeBSD 9.x and 10.x for years, but there are still some - performance and stability issues and bugs. Compared with - Windows and Linux VMs, the current BIS lacks some important - features, such as virtual Receive Side Scaling (vRSS) support - in the Hyper-V network driver and support for UEFI VM (boot - from UEFI), among others.</p> - - <p>We are now working more on the issues and performance tuning - to make FreeBSD VMs run better on Hyper-V and the Hyper-V based - cloud platform Azure.</p> - - <p>Our work during 2015Q4 is documented below:</p> - - <ul> - <li>Optimizing the VMBus driver and Hyper-V network driver - for performance: - <ul> - <li>Sent out patches to enable <tt>INTR_MPSAFE</tt> for - the interrupt handling thread, speed up relid-to-channel - lookup in the thread by map table, and optimize the - VMBus ringbuffer writable notification to the host.</li> - - <li>Developing a patch to enable the virtual Receive - Side Scaling (vRSS) for Hyper-V network device driver. - This will greatly improve the network performance for - SMP virtual machine (VM).</li> - - <li>Sent out a patch to enable the Hyper-V timer, which - will improve the accuracy of timekeeping when FreeBSD VMs - run on Hyper-V.</li> - </ul> - </li> - - <li>Fixing bugs and cleaning up the code: - <ul> - <li>Fixed a bug in checksum offloading (PR 203630 - — [Hyper-V] [nat] [tcp] 10.2 NAT bug in TCP stack - or hyperv netsvc driver) in the Hyper-V network driver, - making FreeBSD VM based NAT gateways work more - reliably.</li> - - <li>Fixed a serialization issue in the initialization of - VMBus devices, fixing PR 205156 ([Hyper-V] NICs' (hn0, - hn1) MAC addresses can appear in an uncertain way across - reboot).</li> - - <li>Fixed a KVP (Key-Value Pair) issue (retrieving a - key's value can hang for an uncertain period of - time).</li> - - <li>Added ioctl support for SIOCGIFMEDIA for the Hyper-V - network driver, fixing PR 187006 ([Hyper-V] dynamic - address (DHCP) obtaining does not work on HYPER-V OS - 2012 R2).</li> - - <li>Sent out patches to add an interrupt counter for - Hyper-V VMBus interrupts (so the user can easily get - statistical information about VMBus interrupts), - and fix the KVP daemon's poll timeout (so the daemon - will avoid unnecessary polling every 100 - milliseconds.</li> - - <li>Identified a TSC calibration issue: the i8254 PIT - timer emulation of Hyper-V is not fully reliable, so - the Hyper-V time counter should be used to calibrate - the TSC. A patch was drafted. With the patch, it looks - the warning kernel message (e.g., "calcru: runtime - went backwards from 46204978 usec to 23362331 usec for - pid 0 (kernel)") will go away, and the time-based - tracing of Dtrace will be more accurate.</li> - </ul> - </li> - - <li>We plan to add support for UEFI VMs (Hyper-V Generation-2 - VMs). Currently some issues and to-do items were - identified. For example, we cannot use the i8254 PIT to - calibrate the TSC because the i8254 PIT does not exist in a - UEFI VM, and we need to add support for the Hyper-V - synthetic keyboard/mouse/framebuffer device.</li> - - <li>We are working on a disk detection issue: when a FreeBSD VM - runs on a Windows Server 2016 Technical Preview host, the VM - will detect 16 disks when only one disk is configured for - the VM. VMs running on these hosts can fail to boot. A - workaround patch was created and we are trying to make a - formal fix.</li> - - <li>We are tidying up some internal BIS test cases and plan - to publish them on github.</li> - </ul> - <p>This project was sponsored by Microsoft.</p><hr /><h2><a name="FreeBSD-Xen" href="#FreeBSD-Xen" id="FreeBSD-Xen">FreeBSD Xen</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://wiki.xen.org/wiki/FreeBSD_PVH" title="http://wiki.xen.org/wiki/FreeBSD_PVH">FreeBSD PVH DomU Wiki Page</a></td><td> - URL: <a href="http://wiki.xen.org/wiki/FreeBSD_PVH" title="FreeBSD PVH DomU Wiki Page">http://wiki.xen.org/wiki/FreeBSD_PVH</a></td></tr><tr><td><a href="http://wiki.xen.org/wiki/FreeBSD_Dom0" title="http://wiki.xen.org/wiki/FreeBSD_Dom0">FreeBSD PVH Dom0 Wiki Page</a></td><td> - URL: <a href="http://wiki.xen.org/wiki/FreeBSD_Dom0" title="FreeBSD PVH Dom0 Wiki Page">http://wiki.xen.org/wiki/FreeBSD_Dom0</a></td></tr><tr><td><a href="http://xenbits.xen.org/gitweb/?p=people/royger/freebsd.git;a=shortlog;h=refs/heads/new_entry_point_v5" title="http://xenbits.xen.org/gitweb/?p=people/royger/freebsd.git;a=shortlog;h=refs/heads/new_entry_point_v5">FreeBSD/Xen HVMlite Implementation</a></td><td> - URL: <a href="http://xenbits.xen.org/gitweb/?p=people/royger/freebsd.git;a=shortlog;h=refs/heads/new_entry_point_v5" title="FreeBSD/Xen HVMlite Implementation">http://xenbits.xen.org/gitweb/?p=people/royger/freebsd.git;a=shortlog;h=refs/heads/new_entry_point_v5</a></td></tr></table><p> - Contact: - Roger - Pau Monné - <<a href="mailto:royger@FreeBSD.org">royger@FreeBSD.org</a>> - <br /> - Contact: - Wei - Liu - <<a href="mailto:wei.liu2@citrix.com">wei.liu2@citrix.com</a>> - </p> - <p>Xen is a hypervisor using a microkernel design, providing - services that allow multiple computer operating systems to - execute on the same computer hardware concurrently. Xen - support for FreeBSD on x86 as a guest was introduced in version - 8, and ARM support is currently being worked on. Support for - running FreeBSD as an amd64 Xen host (Dom0) is available in - head.</p> - - <p>The x86 work done during this quarter has been focused on - rewriting the PVH implementation inside of Xen, into what is - now being called HVMlite to differentiate it with the previous - PVH implementation. The Xen side of patches have already been - committed to the Xen source tree, and will be available in Xen - 4.7, the next version. Work has also begun on implementing - HVMlite Dom0 support, although no patches have yet been - published.</p> - - <p>HVMlite support for FreeBSD has not yet been committed, - although an initial implementation is available in a personal - git repository. The plan is to completely replace PVH with - HVMlite on FreeBSD as soon as HVMlite supports Dom0 mode.</p> - - <p>Apart from this, Wei Liu is working on improving netfront - performance on FreeBSD. Initial patches have been posted to the - FreeBSD review system.</p> - - <p>The x86 unmapped bounce buffer code has also been improved, - and unmapped IO support has been added to the - <tt>blkfront</tt> driver.</p> - <p>This project was sponsored by Citrix Systems R&D.</p><h3>Open tasks:</h3><ol><li> - <p>Finish HVMlite Dom0 support inside of Xen.</p> - </li><li> - <p>Deprecate and remove PVH support from Xen.</p> - </li><li> - <p>Remove PVH support from FreeBSD and switch to HVMlite.</p> - </li><li> - <p>Generalize the event channel code so it can be used on - ARM.</p> - </li><li> - <p>Improve the performance of the various backends - (<tt>netback</tt>, <tt>blkback</tt>).</p> - </li></ol><hr /><h2><a name="Improvements-to-the-QLogic-HBA-Driver" href="#Improvements-to-the-QLogic-HBA-Driver" id="Improvements-to-the-QLogic-HBA-Driver">Improvements to the QLogic HBA Driver</a></h2><p> - Contact: - Alexander - Motin - <<a href="mailto:mav@FreeBSD.org">mav@FreeBSD.org</a>> - </p> - <p>The QLogic HBA driver, <tt>isp(4)</tt>, received a - substantial set of changes. The primary goal was to make the - Fibre Channel target role work well with CTL, but many other - things were also fixed/improved:</p> - - <ul> - <li>Added support for modern 16Gbps 26xx FC cards.</li> - - <li>The firmware in <tt>ispfw(4)</tt> were updated to the - latest versions.</li> - - <li>Target role support was fixed and tested for all FC cards - from ancient 1Gbps 22xx to modern 16Gbps 26xx.</li> - - <li>Port database handling was unified for target and - initiator roles, allowing an HBA port to play both roles at the - same time.</li> - - <li>The maximal number of ports was increased from 256 to - 1024.</li> - - <li>Multi-ID (NPIV) functionality was fixed/implemented, - allowing 24xx and above cards to provide up to 255 virtual - FC ports per physical port.</li> - - <li>Added support for 8-byte LUNs for 24xx and above - cards.</li> - </ul> - - <p>The code is committed to FreeBSD head and stable/10 - branches.</p> - <p>This project was sponsored by iXsystems, Inc..</p><h3>Open tasks:</h3><ol><li> - <p>NVRAM data reading is hackish and requires rework.</p> - </li><li> - <p>FCoE support for 26xx cards was not tested yet.</p> - </li></ol><hr /><h2><a name="iMX.6-Video-Output-Support" href="#iMX.6-Video-Output-Support" id="iMX.6-Video-Output-Support">iMX.6 Video Output Support</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://svnweb.FreeBSD.org/changeset/base/292574" title="https://svnweb.FreeBSD.org/changeset/base/292574">Commit Adding Basic Video Support</a></td><td> - URL: <a href="https://svnweb.FreeBSD.org/changeset/base/292574" title="Commit Adding Basic Video Support">https://svnweb.FreeBSD.org/changeset/base/292574</a></td></tr></table><p> - Contact: - Oleksandr - Tymoshenko - <<a href="mailto:gonzo@FreeBSD.org">gonzo@FreeBSD.org</a>> - </p> - <p>iMX.6 is a family of SoC used in multiple hobbyist ARM boards - such as the Hummingboard, RIoTboard, and Cubox. Most of these - products have HDMI output, but until recently, FreeBSD did not - benefit from it. As of r292574, there is basic video output - support so you can use the console on iMX6-based boards and - probably run Xorg (not yet tested).</p> - - <p>Due to the lack of some kernel functionality (see open - tasks), the only supported mode is 1024x768.</p> - <h3>Open tasks:</h3><ol><li> - <p>Proper pixel clock initialization (relies on a clock - framework).</p> - </li><li> - <p>More flexible video output path (support multiple IPUs - and DIs).</p> - </li></ol><hr /><h2><a name="ioat(4)-Driver-Enhancements" href="#ioat(4)-Driver-Enhancements" id="ioat(4)-Driver-Enhancements">ioat(4) Driver Enhancements</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://en.wikipedia.org/wiki/I/O_Acceleration_Technology" title="https://en.wikipedia.org/wiki/I/O_Acceleration_Technology">Wikipedia on I/OAT</a></td><td> - URL: <a href="https://en.wikipedia.org/wiki/I/O_Acceleration_Technology" title="Wikipedia on I/OAT">https://en.wikipedia.org/wiki/I/O_Acceleration_Technology</a></td></tr><tr><td><a href="https://www.FreeBSD.org/status/report-2015-07-2015-09.html#ioat%284%29-Driver-Import" title="https://www.FreeBSD.org/status/report-2015-07-2015-09.html#ioat%284%29-Driver-Import">Last quarter's ioat(4) report</a></td><td> - URL: <a href="https://www.FreeBSD.org/status/report-2015-07-2015-09.html#ioat%284%29-Driver-Import" title="Last quarter's ioat(4) report">https://www.FreeBSD.org/status/report-2015-07-2015-09.html#ioat%284%29-Driver-Import</a></td></tr></table><p> - Contact: - Conrad - Meyer - <<a href="mailto:cem@FreeBSD.org">cem@FreeBSD.org</a>> - </p> - <p>I/OAT DMA engines are bulk memory operation offload engines - built into some Intel Server/Storage platform CPUs.</p> - - <p>Several enhancements were made to the driver. It now avoids - memory allocation in locked paths, which should avoid - deadlocking in memory pressure scenarios. Support for - Broadwell-EP devices has been added. The - "blockfill" operation and a non-contiguous 8 KB copy - operation have been added to the API. The driver can recover - from various programming errors by resetting the hardware.</p> - <p>This project was sponsored by EMC / Isilon Storage Division.</p><h3>Open tasks:</h3><ol><li> - <p>XOR and other advanced ("RAID") operation - support.</p> - </li></ol><hr /><h2><a name="Kernel-Vnode-Cache-Tuning" href="#Kernel-Vnode-Cache-Tuning" id="Kernel-Vnode-Cache-Tuning">Kernel Vnode Cache Tuning</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://reviews.FreeBSD.org/rS292895" title="https://reviews.FreeBSD.org/rS292895">MFC to stable/10</a></td><td> - URL: <a href="https://reviews.FreeBSD.org/rS292895" title="MFC to stable/10">https://reviews.FreeBSD.org/rS292895</a></td></tr></table><p> - Contact: - Kirk - McKusick - <<a href="mailto:mckusick@mckusick.com">mckusick@mckusick.com</a>> - <br /> - Contact: - Bruce - Evans - <<a href="mailto:bde@FreeBSD.org">bde@FreeBSD.org</a>> - <br /> - Contact: - Konstantin - Belousov - <<a href="mailto:kib@FreeBSD.org">kib@FreeBSD.org</a>> - <br /> - Contact: - Peter - Holm - <<a href="mailto:pho@FreeBSD.org">pho@FreeBSD.org</a>> - <br /> - Contact: - Mateusz - Guzik - <<a href="mailto:mjg@FreeBSD.org">mjg@FreeBSD.org</a>> - </p> - <p>This completed project includes changes to better manage - the vnode freelist and to streamline the allocation and - freeing of vnodes.</p> - - <p>Vnode cache recycling was reworked to meet free and unused - vnode targets. Free vnodes are rarely completely free; - rather, they are just ones that are cheap to recycle. Usually - they are for files which have been stat'd but not read; these - usually have inode and namecache data attached to them. The - free vnode target is the preferred minimum size of a sub-cache - consisting mostly of such files. The system balances the size - of this sub-cache with its complement to try to prevent either - from thrashing while the other is relatively inactive. The - targets express a preference for the best balance.</p> - - <p>"Above" this target there are 2 further targets - (watermarks) related to the recyling of free vnodes. In the - best-operating case, the cache is exactly full, the free list - has size between vlowat and vhiwat above the free target, and - recycling from the free list and normal use maintains this - state. Sometimes the free list is below vlowat or even empty, - but this state is even better for immediate use, provided the - cache is not full. Otherwise, <tt>vnlru_proc()</tt> runs to - reclaim enough vnodes (usually non-free ones) to reach one of - these states. The watermarks are currently hard-coded as 4% - and 9% of the available space. These, and the default of 25% - for wantfreevnodes, are too large if the memory size is large. - For example, 9% of 75% of MAXVNODES is more than 566000 vnodes - to reclaim whenever <tt>vnlru_proc()</tt> becomes active.</p> - - <p>The <tt>vfs.vlru_alloc_cache_src</tt> sysctl is removed. The new - code frees namecache sources as the last chance to satisfy the - highest watermark, instead of selecting source vnodes - randomly. This provides good enough behavior to keep - <tt>vn_fullpath()</tt> working in most situations. Filesystem - layouts with deep trees, where the removed knob was required, - are thus handled automatically.</p> - - <p>As the kernel allocates and frees vnodes, it fully - initializes them on every allocation and fully releases them - on every free. These are not trivial costs: it starts by - zeroing a large structure, then initializes a mutex, a lock - manager lock, an rw lock, four lists, and six pointers. - Looking at <tt>vfs.vnodes_created</tt>, these operations are - being done millions of times an hour on a busy machine.</p> - - <p>As a performance optimization, this code update uses the - uma_init and uma_fini routines to do these initializations and - cleanups only as the vnodes enter and leave the vnode zone. - With this change, the initializations are done - <tt>kern.maxvnodes</tt> times at system startup, and then only - rarely again. The frees are done only if the vnode zone - shrinks, which never happens in practice. For those curious - about the avoided work, look at the <tt>vnode_init()</tt> and - <tt>vnode_fini()</tt> functions in sys/kern/vfs_subr.c to see - the code that has been removed from the main vnode - allocation/free path.</p> - <hr /><h2><a name="Mellanox-Drivers" href="#Mellanox-Drivers" id="Mellanox-Drivers">Mellanox Drivers</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.mellanox.com/page/ethernet_cards_overview" title="http://www.mellanox.com/page/ethernet_cards_overview">Hardware Information</a></td><td> - URL: <a href="http://www.mellanox.com/page/ethernet_cards_overview" title="Hardware Information">http://www.mellanox.com/page/ethernet_cards_overview</a></td></tr><tr><td><a href="https://svnweb.FreeBSD.org/changeset/base/290650" title="https://svnweb.FreeBSD.org/changeset/base/290650">Commit Adding the Driver</a></td><td> - URL: <a href="https://svnweb.FreeBSD.org/changeset/base/290650" title="Commit Adding the Driver">https://svnweb.FreeBSD.org/changeset/base/290650</a></td></tr></table><p> - Contact: - Hans Petter - Selasky - <<a href="mailto:hselasky@FreeBSD.org">hselasky@FreeBSD.org</a>> - </p> - <p>The Mellanox FreeBSD team is proud to announce support for the - ConnectX-4 series of network cards in FreeBSD 11-current and FreeBSD - 10-stable. These devices deliver top performance, with up to - 100GBit/s of raw transfer capacity, and support both Ethernet - and Infiniband. Currently, the Ethernet driver is ready for - use and the Infiniband support for ConnectX-4 is making good - progress. We hope that it will be complete before FreeBSD 11.0 - is released. For more technical information, refer to the - <tt>mlx5en(4)</tt> manual page in 11-current. The new driver - for ConnectX-4 cards is called <tt>mlx5</tt> and is put under - <tt>/sys/dev</tt> and not under <tt>/sys/ofed</tt> as was done - for the previous <tt>mlx4</tt> driver. The <tt>mlx5en(4)</tt> - kernel module is compiled by default in GENERIC kernels.</p> - <p>This project was sponsored by Mellanox Technologies.</p><hr /><h2><a name="Minimal-Kernel-with-PNP-Based-Autoloading" href="#Minimal-Kernel-with-PNP-Based-Autoloading" id="Minimal-Kernel-with-PNP-Based-Autoloading">Minimal Kernel with PNP-Based Autoloading</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://bsdimp.blogspot.com/2016/01/details-on-coming-automatic-module.html" title="http://bsdimp.blogspot.com/2016/01/details-on-coming-automatic-module.html">Blog Post</a></td><td> - URL: <a href="http://bsdimp.blogspot.com/2016/01/details-on-coming-automatic-module.html" title="Blog Post">http://bsdimp.blogspot.com/2016/01/details-on-coming-automatic-module.html</a></td></tr></table><p> - Contact: - Warner - Losh - <<a href="mailto:imp@FreeBSD.org">imp@FreeBSD.org</a>> - </p> - <p>Work on automatically loading modules based on the - plug-and-play data from devices that are scanned and found to - not already have a driver attached is in progress. Digging - this information out from kernel modules, as well as tagging - relevant bits of driver tables, has been committed. PC Card, - USB, and some PCI devices now have these markings. This data - is stored in a file that the kernel, boot loader, and userland - processes all can access.</p> - - <p>When complete, a user will be able to run a minimal kernel - (currently checked in as the <tt>MINIMAL</tt> config). - Devices necessary for booting will be loaded by - <tt>loader(8)</tt>. Other devices may be loaded there, or - early in the boot (depending on which gives better - performance). Users will still be able to run more - monolithic; configurations, as well as limit which - kernel modules are available as can be done today, though - without the convenience that automatic loading will provide. - This work remains ongoing.</p> - <h3>Open tasks:</h3><ol><li> - <p>Go through all the simplebus drivers and add plug-and-play - information there. Some additional minor simplebus - functionality is needed. There is some work in progress for - this.</p> - </li><li> - <p>Go through all the PCI drivers and add plug-and-play - information to them. Unlike PC Card or USB, the PCI bus - does not have a stylized table of PCI IDs, so each driver - invents its own method, meaning that the semi-mechanical - conversion that was done with PC Card and USB will not be - possible. Instead, customized code for each driver will be - needed. Since a large number of drivers have their own - device tables, the work will be primarily writing a - description of the current table style.</p> - </li><li> - <p>Run-time parsing and loading is still needed.</p> - </li></ol><hr /><h2><a name="MMC-Stack-Under-CAM-Framework" href="#MMC-Stack-Under-CAM-Framework" id="MMC-Stack-Under-CAM-Framework">MMC Stack Under CAM Framework</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://bakulin.de/freebsd/mmccam.html" title="https://bakulin.de/freebsd/mmccam.html">Project Information</a></td><td> - URL: <a href="https://bakulin.de/freebsd/mmccam.html" title="Project Information">https://bakulin.de/freebsd/mmccam.html</a></td></tr><tr><td><a href="https://github.com/kibab/FreeBSD/tree/mmccam" title="https://github.com/kibab/FreeBSD/tree/mmccam">Source Code</a></td><td> - URL: <a href="https://github.com/kibab/FreeBSD/tree/mmccam" title="Source Code">https://github.com/kibab/FreeBSD/tree/mmccam</a></td></tr><tr><td><a href="https://reviews.FreeBSD.org/D4761" title="https://reviews.FreeBSD.org/D4761">Patch for Review</a></td><td> - URL: <a href="https://reviews.FreeBSD.org/D4761" title="Patch for Review">https://reviews.FreeBSD.org/D4761</a></td></tr></table><p> - Contact: - Ilya - Bakulin - <<a href="mailto:ilya@bakulin.de">ilya@bakulin.de</a>> - </p> - <p>The goal of this project is to reimplement the existing - MMC/SD stack using the CAM framework. This will permit - utilizing the well-tested CAM locking model and debug - features. It will also be possible to process interrupts - generated by the inserted card, which is a prerequisite for - implementing the SDIO interface.</p> - - <p>The first version of the code was uploaded to Phabricator for - review. The new stack is able to attach to the SD card and - bring it to an operational state so it is possible to read and - write to the card.</p> - - <p>The only supported SD controller driver is <tt>ti_sdhci</tt>, - which is used on the BeagleBone Black. Modifying other - SDHCI-compliant drivers should not be difficult.</p> - <h3>Open tasks:</h3><ol><li> - <p>Rework bus/target/LUN enumeration and the locking model. - I do not really understand the CAM locking and am likely to - do it incorrectly.</p> - </li><li> - <p>Modify the SDHCI driver on at least one x86 platform. - This will make development and collaboration easier.</p> - </li><li> - <p>Begin implementing SDIO-specific bits.</p> - </li></ol><hr /><h2><a name="ntb_hw(4)/if_ntb(4)-Driver-Synced-up-to-Linux" href="#ntb_hw(4)/if_ntb(4)-Driver-Synced-up-to-Linux" id="ntb_hw(4)/if_ntb(4)-Driver-Synced-up-to-Linux">ntb_hw(4)/if_ntb(4) Driver Synced up to - Linux</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/jonmason/ntb/wiki" title="https://github.com/jonmason/ntb/wiki">Jon Mason's NTB wiki</a></td><td> - URL: <a href="https://github.com/jonmason/ntb/wiki" title="Jon Mason's NTB wiki">https://github.com/jonmason/ntb/wiki</a></td></tr><tr><td><a href="https://www-ssl.intel.com/content/dam/www/public/us/en/documents/white-papers/xeon-c5500-c3500-non-transparent-bridge-paper.pdf" title="https://www-ssl.intel.com/content/dam/www/public/us/en/documents/white-papers/xeon-c5500-c3500-non-transparent-bridge-paper.pdf">Intel NTB whitepaper</a></td><td> - URL: <a href="https://www-ssl.intel.com/content/dam/www/public/us/en/documents/white-papers/xeon-c5500-c3500-non-transparent-bridge-paper.pdf" title="Intel NTB whitepaper">https://www-ssl.intel.com/content/dam/www/public/us/en/documents/white-papers/xeon-c5500-c3500-non-transparent-bridge-paper.pdf</a></td></tr></table><p> - Contact: - Conrad - Meyer - <<a href="mailto:cem@FreeBSD.org">cem@FreeBSD.org</a>> - </p> - <p><tt>ntb_hw(4)</tt> is now up-to-date with the Linux NTB - driver as of the work-in-progress 4.4 kernel (and actually, - contains some fixes that haven't landed in the mainline Linux - tree yet but will land in 4.5). Only Back-to-back - ("B2B") configurations are supported at this time. - Going forward, newer hardware may only support the B2B - configuration.</p> - - <p><tt>if_ntb(4)</tt> is mostly up-to-date with the Linux NTB - netdevice driver. Notably absent is support for changing the - MTU at runtime.</p> - <p>This project was sponsored by EMC / Isilon Storage Division.</p><h3>Open tasks:</h3><ol><li> - <p>Improving <tt>if_ntb(4)</tt> to avoid using the entire Base - Address Register (BAR) when very large BAR sizes are - configured (e.g., 512 GB).</p> - </li><li> - <p>Improving <tt>pmap_mapdev(9)</tt> to somehow allocate only - superpage mappings for large BARs, on platforms that support - superpages. (NTB BARs can be as large as 512 GB.)</p> - </li></ol><hr /><h2><a name="Out-of-Memory-Handler-Rewrite" href="#Out-of-Memory-Handler-Rewrite" id="Out-of-Memory-Handler-Rewrite">Out of Memory Handler Rewrite</a></h2><p> - Contact: - Konstantin - Belousov - <<a href="mailto:kib@FreeBSD.org">kib@FreeBSD.org</a>> - </p> - <p>The Out of Memory (OOM) code is intended to handle the - situation where the system needs free memory to make progress, - but no memory can be reused. Most often, the situation is - that to free memory, the system needs more free memory. - Consider a case where the system needs to page-out dirty - pages, but needs to allocate structures to track the writes. - OOM "solves" the problem by killing some selection - of user processes. In other words, it trades away system - deadlock by suffering a partial loss of user data. The - assumption is that it is better to kill a process and recover - data in other processes than to lose everything.</p> - - <p>Free memory in the FreeBSD Virtual Memory (VM) system appears - from two sources. One is the voluntary reclamation of pages - used by a process, for example unmapping private anonymous - regions, or the last unlink of an otherwise unreferenced file - with cached pages. Another source is the pagedaemon, which - forcefully frees pages which carry data, of course after the - data is moved to some other storage, like swap or file blocks. - OOM is triggered when the pagedaemon definitely cannot free - memory to satisfy the requests.</p> - - <p>The old criteria to trigger the OOM action was a combination - of low free swap space and a low count of free pages (the - latter is expressed precisely with the paging targets - constants, but this is not relevant to the discussion). That - test is mostly incorrect. For example, a low free page state - might be caused by a greedy consumer allocating all pages - freed by the page daemon in the current pass, but this does - not preclude the page daemon from producing more pages. Also, - since page-outs are asynchronous, the previous page daemon - pass might not immmediately produce any free pages, but they - would appear some short time later.</p> - - <p>More seriously, low swap space does not necessarily indicate - that we are in trouble: lots of pages might not require swap - allocations to be freed, like clean pages or pages backed by - files. The last notion is serious, since swap-less systems - were considered as having full swap.</p> - - <p>Instead of trying to deduce the deadlock from looking at the - current VM state, the new OOM handler tracks the history of - page daemon passes. Only when several consecutive passes - failed to meet the paging target is an OOM kill considered - necessary. The count of consequent failed passes was selected - empirically, by testing on small (32M) and large (512G) - machines. Auto-tuning of the counter is possible, but - requires some more architectural changes to the I/O - subsystem.</p> - - <p>Another issue was identified with the algorithm which selects - a victim process for OOM kill. It compared the counts of - pages mapping entries (PTEs) installed into the machine paging - structures. For different reasons, the machine-dependent VM code - (pmap) may remove the pte for a memory-resident page. Under - some circumstances related to other measures to prevent low - memory deadlock, very large processes which consume all system - memory could have few or no ptes. The old OOM selector - ignored the process which caused the deadlock, killing - unrelated processes.</p> - - <p>A new function, <tt>vm_pageout_oom_pagecount()</tt>, was - written which applies a reasonable heuristic to estimate the - number of pages freed by killing the given process. This - eliminates the effect of selecting small unrelated processes - for OOM kill.</p> - - <p>The rewrite was committed to head in r290917 and r290920.</p> - <p>This project was sponsored by The FreeBSD Foundation.</p><hr /><h2><a name="sendfile(2)-Improvements" href="#sendfile(2)-Improvements" id="sendfile(2)-Improvements">sendfile(2) Improvements</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://svnweb.FreeBSD.org/base?view=revision&revision=293439" title="https://svnweb.FreeBSD.org/base?view=revision&revision=293439">Commit to Head</a></td><td> - URL: <a href="https://svnweb.FreeBSD.org/base?view=revision&revision=293439" title="Commit to Head">https://svnweb.FreeBSD.org/base?view=revision&revision=293439</a></td></tr><tr><td><a href="http://www.slideshare.net/facepalmtarbz2/new-sendfile-in-english" title="http://www.slideshare.net/facepalmtarbz2/new-sendfile-in-english">Slides</a></td><td> - URL: <a href="http://www.slideshare.net/facepalmtarbz2/new-sendfile-in-english" title="Slides">http://www.slideshare.net/facepalmtarbz2/new-sendfile-in-english</a></td></tr><tr><td><a href="https://events.yandex.ru/lib/talks/2682/" title="https://events.yandex.ru/lib/talks/2682/">Presentation (in Russian)</a></td><td> - URL: <a href="https://events.yandex.ru/lib/talks/2682/" title="Presentation (in Russian)">https://events.yandex.ru/lib/talks/2682/</a></td></tr></table><p> - Contact: - Gleb - Smirnoff - <<a href="mailto:glebius@FreeBSD.org">glebius@FreeBSD.org</a>> - </p> - <p>The <tt>sendfile(2)</tt> system call was introduced in - 1998 as an alternative to a traditional - <tt>read(2)</tt>/<tt>write(2)</tt> loop, speeding up server - performance by a factor of ten at the time. Since it was - adopted by all major operating systems, it is now used by any - serious web server software. Wherever there is high traffic, - there is <tt>sendfile(2)</tt> under the hood.</p> - - <p>Now, with FreeBSD 11, we are making the next revolutinary step - in serving traffic. <tt>sendfile(2)</tt> no longer blocks - waiting on disk I/O. Instead, it immediately returns control - to the application, performing the necessary I/O in the - background. The original <tt>sendfile(2)</tt> waited for the - disk read operation to complete and then put the data that was - read into the socket, then returned to userspace. If a web - server served thousands of clients with thousands of requests, - it was forced to spawn extra contexts from which to run - <tt>sendfile(2)</tt> to avoid stalls. Alternatively, it could - use special tricks like the <tt>SF_NODISKIO</tt> flag that - forces <tt>sendfile(2)</tt> to serve only content that is - cached in memory. Now, these tricks are in the past, and a - web server can simply use <tt>sendfile(2)</tt> as it would use - <tt>write(2)</tt>, without any extra care. The new sendfile - cuts out the overhead of extra contexts, short writes, and - extra syscalls to prepopulate the cache, bringing performance - to a new level.</p> - - <p>The new syscall is built on top of two newly-introduced - kernel features. The first is an asynchronous VM pager - interface and the corresponding <tt>VOP_GETPAGES_ASYNC()</tt> - file system method for UFS. The second is the concept of - "not ready" data in sockets. When - <tt>sendfile(2)</tt> is called, first - <tt>VOP_GETPAGES_ASYNC()</tt> is called, which dispatches I/O - requests for completion. Buffers with pages to be populated - are put into the socket buffer, but flagged as not-yet-ready. - Control immediately returns to the application. When the I/O - is finished, the buffers are marked as ready, and the socket - is activated to continue transmission.</p> - - <p>Additional features of the new <tt>sendfile</tt> are new - flags that provide the application with extra control over the - transmitted content. Now it is possible to prevent caching of - content in memory, which is useful when it is known that the - content is unlikely to be reused any time soon. In such - cases, it is better to let the associated storage be freed, - rather than putting the data in cache. It is also possible to - specify a readahead with every syscall, if the application can - predict client behavior.</p> - - <p>The new <tt>sendfile(2)</tt> is a drop-in replacement, API - and ABI compatible with the old one. Applications do not even - need to recompile to benefit from the new implementation.</p> - - <p>This work is a joint effort between two companies: NGINX, - Inc., and Netflix. There were many people involved in the - project. At its initial stage, before code was written, the - idea of such an asynchronous drop-in replacement was discussed - amongst Gleb Smirnoff, Scott Long, Konstantin Belousov, Adrian Chadd, and Igor - Sysoev. The initial prototype was coded by Gleb under the - supervision of Kostik on the VM parts of the patch, and under - constant pressure from Igor, who demanded that <tt>nginx</tt> be - capable of running with the new <tt>sendfile(2)</tt> with no - modifications. The prototype demonstrated good performance - and stability and quickly went into Netflix production in late - 2014. During 2015, the code matured and continued serving - production traffic at Netflix. Scott Long, Randall R. Stewart, Maksim Yevmenkin, - and Andrew Gallatin added their contributions to the code.</p> - - <p>Now we are releasing the code behind our success to the - FreeBSD community, making it available to all FreeBSD users - worldwide!</p> - <p>This project was sponsored by Netflix, and NGINX, Inc..</p><h3>Open tasks:</h3><ol><li> - <p><tt>SSL_sendfile()</tt> — an extension to the new - <tt>sendfile(2)</tt> that allows uploading session keys to - the kernel, and then using <tt>sendfile(2)</tt> on an - SSL-enabled socket.</p> - </li></ol><hr /><h2><a name="sysctl-Enhancements" href="#sysctl-Enhancements" id="sysctl-Enhancements">sysctl Enhancements</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://en.wikipedia.org/wiki/C_data_types#Fixed-width_integer_types" title="https://en.wikipedia.org/wiki/C_data_types#Fixed-width_integer_types">Wikipedia Entry on C99 Fixed-Width Integer Types</a></td><td> - URL: <a href="https://en.wikipedia.org/wiki/C_data_types#Fixed-width_integer_types" title="Wikipedia Entry on C99 Fixed-Width Integer Types">https://en.wikipedia.org/wiki/C_data_types#Fixed-width_integer_types</a></td></tr><tr><td><a href="https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=203918" title="https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=203918">sysctl(8) -t Submission PR</a></td><td> - URL: <a href="https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=203918" title="sysctl(8) -t Submission PR">https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=203918</a></td></tr></table><p> - Contact: - Conrad - Meyer - <<a href="mailto:cem@FreeBSD.org">cem@FreeBSD.org</a>> - <br /> - Contact: - Ravi - Pokala - <<a href="mailto:rpokala@FreeBSD.org">rpokala@FreeBSD.org</a>> - <br /> - Contact: - Marcelo - Araujo - <<a href="mailto:araujo@FreeBSD.org">araujo@FreeBSD.org</a>> - </p> - <p>Support was added for fixed-width sysctls (signed and - unsigned 8-bit, 16-bit, 32-bit, and 64-bit integers). The new - KPIs are documented in the <tt>sysctl(9)</tt> manual page. - The <tt>sysctl(8)</tt> command line tool supports all of the - new types.</p> - - <p><tt>sysctl(8)</tt> gained the <tt>-t</tt> flag, which prints - sysctl type information (the original patch was submitted by - Yoshihiro Ota). This support includes the newly added - fixed-width types.</p> - <p>This project was sponsored by EMC / Isilon Storage Division.</p><hr /><h2><a name="Touchscreen-Support-for-Raspberry-Pi-and-Beaglebone-Black" href="#Touchscreen-Support-for-Raspberry-Pi-and-Beaglebone-Black" id="Touchscreen-Support-for-Raspberry-Pi-and-Beaglebone-Black">Touchscreen Support for Raspberry Pi and Beaglebone - Black</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://kernelnomicon.org/?p=534" title="http://kernelnomicon.org/?p=534">Beaglebone Black with 4DCAPE-43T Demo</a></td><td> - URL: <a href="http://kernelnomicon.org/?p=534" title="Beaglebone Black with 4DCAPE-43T Demo">http://kernelnomicon.org/?p=534</a></td></tr><tr><td><a href="https://wiki.FreeBSD.org/201510DevSummit/GraphicsStack" title="https://wiki.FreeBSD.org/201510DevSummit/GraphicsStack">Input Stack Plans</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/201510DevSummit/GraphicsStack" title="Input Stack Plans">https://wiki.FreeBSD.org/201510DevSummit/GraphicsStack</a></td></tr><tr><td><a href="https://wiki.FreeBSD.org/SummerOfCode2014/evdev_Touchscreens" title="https://wiki.FreeBSD.org/SummerOfCode2014/evdev_Touchscreens">evdev Port</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/SummerOfCode2014/evdev_Touchscreens" title="evdev Port">https://wiki.FreeBSD.org/SummerOfCode2014/evdev_Touchscreens</a></td></tr></table><p> - Contact: - Oleksandr - Tymoshenko - <<a href="mailto:gonzo@FreeBSD.org">gonzo@FreeBSD.org</a>> - </p> - <p>There are two working proof-of-concept drivers for the - AM335x touchscreen and for the official Raspberry Pi's - touchscreen LCD.</p> - - <p>Proper touchscreen support would consist of a userland event - reading API, a kernel event reporting API, and kernel hardware - drivers for specific devices. There is an ongoing effort to - port the Linux <tt>evdev</tt> API to FreeBSD so applications that use - libraries like libinput or tslib could be used without any - major changes. Since it is not yet complete, I created a - naive <tt>evdev</tt>-like API for both kernel and tslib and was able to - run a demo on a Beaglebone Black with 4DCAPE-43T.</p> - - <p>Once <tt>evdev</tt> makes it into the tree, both hardware drivers - can be modified to include "report events" - portions and committed.</p> - <hr /><br /><h1><a name="Architectures" href="#Architectures" id="Architectures">Architectures</a></h1><br /><h2><a name="armv6-Hard-Float-Default-ABI" href="#armv6-Hard-Float-Default-ABI" id="armv6-Hard-Float-Default-ABI">armv6 Hard Float Default ABI</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://bsdimp.blogspot.com/2015/12/hard-float-api-coming-soon-by-default.html" title="http://bsdimp.blogspot.com/2015/12/hard-float-api-coming-soon-by-default.html">Blog Entry</a></td><td> - URL: <a href="http://bsdimp.blogspot.com/2015/12/hard-float-api-coming-soon-by-default.html" title="Blog Entry">http://bsdimp.blogspot.com/2015/12/hard-float-api-coming-soon-by-default.html</a></td></tr></table><p> - Contact: - Warner - Losh - <<a href="mailto:imp@FreeBSD.org">imp@FreeBSD.org</a>> - </p> - <p>Work on moving armv6 from a "soft float" ABI (but - still using hardware floating point) to a fully "hardware - float" API moves forward. The ability to have both soft - and hard ABI libraries on the same system is now functional. - All armv6 and armv7 systems we support have hardware floating - point capabilities. We currently use the floating-point - hardware, but with a slightly un-optimal ABI, for - compatibility with older versions of FreeBSD. The ABI - differences are only at the userspace level — the kernel - does not care what floating-point ABI is used, and both types - of binaries can run at the same time.</p> - - <p>The run-time linker now knows if a binary uses the hardware - float ABI or the software float ABI by examining some fields - in the ELF header. The linker uses different paths and config - files for hard versus soft binaries. The <tt>rc</tt> system - has been enhanced to load the software float paths. - <tt>ldconfig</tt> now understands soft libraries in much the - same way that it understands 32-bit libraries on 64-bit - systems. No additional kernel support was necessary for this, - apart from a minor patch to pass the ELF header information to - the binary, which has been in the tree since last summer.</p> - - <p>The experimental armv6hf <tt>MACHINE_ARCH</tt> will be - retired after a transition period. It will cease to mean - anything different from armv6 after the build system changes - go in. Support for building soft-float ABI libraries will - remain in the tree, to support the <tt>WITH_LIBSOFT</tt> build - option.</p> - <h3>Open tasks:</h3><ol><li> - <p>Complete documentation needs to be written.</p> - </li><li> - <p>Hooks into the FreeBSD build system to generate soft float and - transition to hard float after a flag day need to be - polished up and committed.</p> - </li><li> - <p>A number of different upgrade/coexistence scenarios need - to be tested, and a full package run needs to be done to - assess the latest state of the ports tree. This work should - be completed by the end of January.</p> - </li></ol><hr /><h2><a name="FreeBSD-on-Marvell-Armada38x" href="#FreeBSD-on-Marvell-Armada38x" id="FreeBSD-on-Marvell-Armada38x">FreeBSD on Marvell Armada38x</a></h2><p> - Contact: - Marcin - Wojtas - <<a href="mailto:mw@semihalf.com">mw@semihalf.com</a>> - <br /> - Contact: - Michal - Stanek - <<a href="mailto:mst@semihalf.com">mst@semihalf.com</a>> - <br /> - Contact: - Bartosz - Szczepanek - <<a href="mailto:bsz@semihalf.com">bsz@semihalf.com</a>> - <br /> - Contact: - Jan - Dabros - <<a href="mailto:jsd@semihalf.com">jsd@semihalf.com</a>> - </p> - <p>FreeBSD has been ported to run on the Marvell Armada38x - platform. This SoC family boasts single/dual high-performance - ARM Cortex-A9 CPUs.</p> - - <p>The multi-user SMP system is fully working and has been - tested on Marvell DB-88F6288-GP and SolidRun ClearFog - development boards.</p> - - <p>The root filesystem can be hosted on a USB 3.0/2.0 drive or - via NFS using a PCIe network card. Experimental support is - available for on-chip Gigabit Ethernet (NETA).</p> - - <p>Additional features:</p> - - <ul> - <li>GIC+MPIC cascaded interrupts courtesy of INTRNG</li> - - <li>CESA dual-channel cryptographic engine</li> - - <li>USB 3.0 and 2.0</li> - - <li>PCIe 2.0</li> - - <li>I2C</li> - - <li>GPIO</li> - - <li>Watchdog</li> - - <li>RTC</li> - </ul> - - <p>The port is under community review and will be integrated - into head soon.</p> - <p>This project was sponsored by Stormshield, and Semihalf.</p><h3>Open tasks:</h3><ol><li> - <p>Optimize performance of NETA and prepare for - submission.</p> - </li></ol><hr /><h2><a name="FreeBSD-on-Newer-ARM-Boards" href="#FreeBSD-on-Newer-ARM-Boards" id="FreeBSD-on-Newer-ARM-Boards">FreeBSD on Newer ARM Boards</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/FreeBSD/arm/Odroid-C1" title="https://wiki.FreeBSD.org/FreeBSD/arm/Odroid-C1">FreeBSD on Odroid-C1</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/FreeBSD/arm/Odroid-C1" title="FreeBSD on Odroid-C1">https://wiki.FreeBSD.org/FreeBSD/arm/Odroid-C1</a></td></tr><tr><td><a href="https://svnweb.FreeBSD.org/changeset/base/291683" title="https://svnweb.FreeBSD.org/changeset/base/291683">Commit Adding Glue Driver</a></td><td> - URL: <a href="https://svnweb.FreeBSD.org/changeset/base/291683" title="Commit Adding Glue Driver">https://svnweb.FreeBSD.org/changeset/base/291683</a></td></tr></table><p> - Contact: - John - Wehle - <<a href="mailto:john@feith.com">john@feith.com</a>> - <br /> - Contact: - Ganbold - Tsagaankhuu - <<a href="mailto:ganbold@FreeBSD.org">ganbold@FreeBSD.org</a>> - </p> - <p>We made the changes required to support the Amlogic Meson - Ethernet controller on the Hardkernel ODROID-C1 board, which - has an Amlogic aml8726-m8b SoC. The main effort needed was to - write a glue driver for the Ethernet controller — the - Amlogic Meson Ethernet controller is compatible with Synopsys - DesignWare 10/100/1000 Ethernet MAC (<tt>if_dwc</tt>).</p> - <hr /><h2><a name="FreeBSD-on-SoftIron-Overdrive-3000" href="#FreeBSD-on-SoftIron-Overdrive-3000" id="FreeBSD-on-SoftIron-Overdrive-3000">FreeBSD on SoftIron Overdrive 3000</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://softiron.co.uk/products/" title="http://softiron.co.uk/products/">SoftIron Website</a></td><td> - URL: <a href="http://softiron.co.uk/products/" title="SoftIron Website">http://softiron.co.uk/products/</a></td></tr></table><p> - Contact: - Andrew - Turner - <<a href="mailto:andrew@FreeBSD.org">andrew@FreeBSD.org</a>> - </p> - <p>The SoftIron Overdrive 3000 is an ARMv8 based server with an - 8-core AMD Opteron A1100 processor. The Overdrive 3000 has - two 10Gbase-T Ethernet ports, two PCI Express ports, and eight - SATA ports. FreeBSD has been updated to be able to boot on this - hardware.</p> - - <p>Support for the SATA device was added to the - <tt>ahci(4)</tt> driver. Unlike on x86, this is a Memory - Mapped (mmio) device, and not on the PCI bus. To support - this, a new ahci mmio driver attachment has been added.</p> - - <p>The generic PCIe driver has been updated to improve interrupt - handling. This includes supporting the interrupt-map - devicetree property, and supporting MSI and MSI-X interrupts - on arm64.</p> - - <p>Support for MSI and MSI-X interrupts has been added to the - ARM Generic Interrupt Controller v2 (gicv2) driver. This - allows devices to use these interrupts. This has been tested - with a collection of PCIe NIC hardware.</p> - <p>This project was sponsored by SoftIron Inc..</p><h3>Open tasks:</h3><ol><li> - <p>Write a driver for the 10Gbase-T NIC.</p> - </li></ol><hr /><h2><a name="FreeBSD/arm64" href="#FreeBSD/arm64" id="FreeBSD/arm64">FreeBSD/arm64</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/arm64" title="https://wiki.FreeBSD.org/arm64">FreeBSD arm64 Wiki Entry</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/arm64" title="FreeBSD arm64 Wiki Entry">https://wiki.FreeBSD.org/arm64</a></td></tr></table><p> - Contact: - Andrew - Turner - <<a href="mailto:andrew@FreeBSD.org">andrew@FreeBSD.org</a>> - <br /> - Contact: - Konstantin - Belousov - <<a href="mailto:kib@FreeBSD.org">kib@FreeBSD.org</a>> - <br /> - Contact: - Ed - Maste - <<a href="mailto:emaste@FreeBSD.org">emaste@FreeBSD.org</a>> - <br /> - Contact: - Ed - Schouten - <<a href="mailto:ed@FreeBSD.org">ed@FreeBSD.org</a>> - </p> - <p>Support was added for kernel modules. This included adding - the needed relocation types to the in-kernel relocator, and - updating the build logic to build modules for arm64. CTF data - is currently not generated for modules due to a linker - bug.</p> - - <p>Shared page support was added. This allows - <tt>gettimeofday(2)</tt> to be implemented in userland by - directly accessing the timer register. This reduces the - overhead of these calls as we no longer need to call into the - kernel. This also moves the signal trampoline code away from - the stack, allowing for the stack to become non-executable.</p> - - <p>CloudABI support for arm64 was added. This included moving - the machine-independent code into a separate file to be shared - among all architectures. An issue in the arm64 kernel was - found and fixed thanks to the CloudABI test suite.</p> - - <p>Self-hosted poudriere package builds have been tested. - These complement the previous build strategy of using qemu - usermode emulation. With this combination of self-hosted and - qemu usermode building, many ports that used to be broken on - arm64 have been fixed, resulting in over 17,000 ports building - for the architecture.</p> - - <p>The machine-dependent portion of kernel support for - single-stepping userland binaries has been started. This will - allow debuggers like <tt>lldb</tt> to step through an - application while debugging.</p> - - <p>Many small fixes have been made to FreeBSD/arm64. These - include fixing stack tracing through exceptions, printing more - information about "data abort" kernel panics, - cleaning up the atomic functions, supporting multi-pass driver - attachment, fixing userland stack alignment, cleaning up early - page table creation, fixing asynchronous software trap - handling, and enabling interrupts in exception handlers.</p> - <p>This project was sponsored by The FreeBSD Foundation, and ABT Systems Ltd.</p><hr /><h2><a name="FreeBSD/RISC-V" href="#FreeBSD/RISC-V" id="FreeBSD/RISC-V">FreeBSD/RISC-V</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/riscv" title="https://wiki.FreeBSD.org/riscv">Project Wiki</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/riscv" title="Project Wiki">https://wiki.FreeBSD.org/riscv</a></td></tr></table><p> - Contact: - Ruslan - Bukin - <<a href="mailto:br@bsdpad.com">br@bsdpad.com</a>> - <br /> - Contact: - Ed - Maste - <<a href="mailto:emaste@FreeBSD.org">emaste@FreeBSD.org</a>> - <br /> - Contact: - Arun - Thomas - <<a href="mailto:arun.thomas@baesystems.com">arun.thomas@baesystems.com</a>> - </p> - <p>We have begun work on support for the RISC-V - architecture.</p> - - <p>RISC-V is a new ISA designed to support computer architecture - research and education that is now set to become a standard - open architecture for industry implementations.</p> - - <p>A minimal set of changes needed to compile the kernel - toolchain has been committed, along with machine headers, - run-time linker (rtld-elf) support, and libc/libstand.</p> - - <p>All development has been happening in a separate branch, - with a goal of moving development to head in a few weeks.</p> - - <p>At present, FreeBSD/RISC-V boots to multiuser in the Spike - simulator.</p> - <p>This project was sponsored by DARPA, AFRL, and HEIF5.</p><h3>Open tasks:</h3><ol><li> - <p>We plan to commit the rest of userspace (i.e., libc), - kernel support, etc., in a few weeks.</p> - </li></ol><hr /><h2><a name="Improvements-for-ARMv6/v7-Support" href="#Improvements-for-ARMv6/v7-Support" id="Improvements-for-ARMv6/v7-Support">Improvements for ARMv6/v7 Support</a></h2><p> - Contact: - Dominik - Ermel - <<a href="mailto:der@semihalf.com">der@semihalf.com</a>> - <br /> - Contact: - Wojciech - Macek - <<a href="mailto:wma@semihalf.com">wma@semihalf.com</a>> - <br /> - Contact: - Zbigniew - Bodek - <<a href="mailto:zbb@semihalf.com">zbb@semihalf.com</a>> - </p> - <p>Numerous improvements for the ARMv6/v7 kernel and tools - have been developed by the Semihalf team. Those include:</p> - - <ul> - <li>Fixes for KGDB support.</li> - - <li>Support for branch instructions in <tt>ptrace</tt> single - stepping.</li> - - <li>Fixes for kernel minidumps.</li> - - <li>Improvements for LIBUSBBOOT.</li> - - <li>Support for Exynos EHCI in the loader.</li> - - <li>A fix for instruction single stepping in DDB.</li> - - <li>Support for hardware watchpoints, including watchpoints - on SMP systems.</li> - - <li>Single stepping using the ARM Debug Architecture.</li> - - <li>Support for gzip-compressed kernel modules in - <tt>kldload</tt>.</li> - - <li>Backport of the new pmap VM code to FreeBSD 10-STABLE (not - yet sent to upstream).</li> - </ul> - - <p>Most of the introduced changes have been committed to head - and more are on the way.</p> - <p>This project was sponsored by Juniper Networks Inc., and Semihalf.</p><h3>Open tasks:</h3><ol><li> - <p>Finish upstreaming the hardware watchpoints support.</p> - </li></ol><hr /><br /><h1><a name="Userland-Programs" href="#Userland-Programs" id="Userland-Programs">Userland Programs</a></h1><br /><h2><a name="Base-System-Build-Improvements" href="#Base-System-Build-Improvements" id="Base-System-Build-Improvements">Base System Build Improvements</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://lists.FreeBSD.org/pipermail/freebsd-arch/2015-December/017571.html" title="https://lists.FreeBSD.org/pipermail/freebsd-arch/2015-December/017571.html">FreeBSD-Arch Post Describing Plans</a></td><td> - URL: <a href="https://lists.FreeBSD.org/pipermail/freebsd-arch/2015-December/017571.html" title="FreeBSD-Arch Post Describing Plans">https://lists.FreeBSD.org/pipermail/freebsd-arch/2015-December/017571.html</a></td></tr><tr><td><a href="http://www.bsdcan.org/2014/schedule/events/460.en.html" title="http://www.bsdcan.org/2014/schedule/events/460.en.html">BSDCan 2014 META_MODE Presentation</a></td><td> - URL: <a href="http://www.bsdcan.org/2014/schedule/events/460.en.html" title="BSDCan 2014 META_MODE Presentation">http://www.bsdcan.org/2014/schedule/events/460.en.html</a></td></tr><tr><td><a href="https://svnweb.FreeBSD.org/base?view=revision&revision=290433" title="https://svnweb.FreeBSD.org/base?view=revision&revision=290433">WITH_FAST_DEPEND Details</a></td><td> - URL: <a href="https://svnweb.FreeBSD.org/base?view=revision&revision=290433" title="WITH_FAST_DEPEND Details">https://svnweb.FreeBSD.org/base?view=revision&revision=290433</a></td></tr><tr><td><a href="https://svnweb.FreeBSD.org/base?view=revision&revision=290526" title="https://svnweb.FreeBSD.org/base?view=revision&revision=290526">WITH_CCACHE_BUILD Details</a></td><td> - URL: <a href="https://svnweb.FreeBSD.org/base?view=revision&revision=290526" title="WITH_CCACHE_BUILD Details">https://svnweb.FreeBSD.org/base?view=revision&revision=290526</a></td></tr></table><p> - Contact: - Bryan - Drewery - <<a href="mailto:bdrewery@FreeBSD.org">bdrewery@FreeBSD.org</a>> - </p> - <p>Bryan Drewery (bdrewery@) has been working to improve the - build framework as well as <tt>buildworld</tt> build times. - The build system has been largely untouched by large-scale - changes for many years. Most of the effort has been on - improving the recent <tt>META_MODE</tt> merge that was - presented at BSDCan 2014. This is a new build system that is - not currently enabled by default but brings many benefits. - Beyond that, some highlights of the work changing - <tt>buildworld</tt> are:</p> - - <ul> - <li><tt>WITH_FAST_DEPEND</tt>, which avoids calling - "mkdep" during the <tt>make depend</tt> phase and - instead generates dependency files during compilation. The - old scheme was pre-processing all source files twice. The - new version saves 16-35% in build times.</li> - - <li><tt>WITH_CCACHE_BUILD</tt> adds built-in <tt>ccache</tt> - support, avoiding many of the historical pitfalls of - changing <tt>CC</tt> in <tt>make.conf</tt> to use - <tt>ccache</tt>.</li> - - <li>Many improvements for parallelization of the build.</li> - - <li><tt>LIBADD</tt> improvements to ensure proper usage of - this tool to replace duplicate <tt>LDADD</tt> and - <tt>DPADD</tt> statements. Further work is under way to - reduce overlinking.</li> - - <li>A lot of cleanup of improper framework usage.</li> - - <li>Ensuring that installing files from the build tree fails - if the destination directory is missing, rather than - installing a file as the directory name.</li> - </ul> - <p>This project was sponsored by EMC / Isilon Storage Division.</p><h3>Open tasks:</h3><ol><li> - <p>See the FreeBSD-arch mail for more information on planned - work.</p> - </li></ol><hr /><h2><a name="ELF-Tool-Chain-Tools" href="#ELF-Tool-Chain-Tools" id="ELF-Tool-Chain-Tools">ELF Tool Chain Tools</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://elftoolchain.sourceforge.net" title="http://elftoolchain.sourceforge.net">ELF Tool Chain Website</a></td><td> - URL: <a href="http://elftoolchain.sourceforge.net" title="ELF Tool Chain Website">http://elftoolchain.sourceforge.net</a></td></tr></table><p> - Contact: - Ed - Maste - <<a href="mailto:emaste@FreeBSD.org">emaste@FreeBSD.org</a>> - </p> - <p>The ELF Tool Chain project provides BSD-licensed - implementations of compilation tools and libraries for - building and analyzing ELF objects. The project began as part - of FreeBSD but later became an independent project in order to - encourage wider participation from others in the open-source - developer community.</p> - - <p>In the last quarter of 2015 the ELF Tool Chain tools were - updated to a snapshot of upstream Subversion revision 3272. - Improvements include better input file validation, RISC-V - support, support for Xen ELF notes, additional MIPS and ARM - relocations, better performance, and bug fixes.</p> - - <p>The ELF Tool Chain project is planning a new release in - the first quarter of 2016, which will facilitate wider - testing and use by projects in addition to FreeBSD.</p> - <p>This project was sponsored by The FreeBSD Foundation.</p><h3>Open tasks:</h3><ol><li> - <p>Add missing functionality (PE/COFF support) to - <tt>elfcopy</tt> and migrate the base system build.</p> - </li><li> - <p>Fix issues found by fuzzing inputs to the tools.</p> - </li><li> - <p>Add automatic support for separate debug files.</p> - </li></ol><hr /><h2><a name="The-LLDB-Debugger" href="#The-LLDB-Debugger" id="The-LLDB-Debugger">The LLDB Debugger</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/lldb" title="https://wiki.FreeBSD.org/lldb">FreeBSD LLDB Wiki Page</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/lldb" title="FreeBSD LLDB Wiki Page">https://wiki.FreeBSD.org/lldb</a></td></tr></table><p> - Contact: - Ed - Maste - <<a href="mailto:emaste@FreeBSD.org">emaste@FreeBSD.org</a>> - </p> - <p>LLDB is the debugger from the LLVM family of projects. - Originally developed for Mac OS X, it now also supports FreeBSD, - NetBSD, Linux, Android, and Windows. It builds on existing - components in the larger LLVM project, for example using - Clang's expression parser and LLVM's disassembler.</p> - - <p>LLDB in the FreeBSD base system was upgraded to version 3.7.0 - as part of the Clang and LLVM upgrade, and it will similarly - be upgraded again to 3.8.0 for FreeBSD 11.0-RELEASE.</p> - - <p>LLDB is now enabled by default on the amd64 and arm64 - platforms. It is now a functional basic debugger on arm64, - after a number of fixes were made in the last quarter to both - LLDB and the FreeBSD kernel.</p> - <p>This project was sponsored by The FreeBSD Foundation.</p><h3>Open tasks:</h3><ol><li> - <p>Rework the LLDB build to use LLVM and Clang shared - libraries.</p> - </li><li> - <p>Port a remote debugging stub to FreeBSD.</p> - </li><li> - <p>Add support for local and core file kernel debugging.</p> - </li><li> - <p>Improve support on architectures other than amd64 and - arm64.</p> - </li></ol><hr /><h2><a name="Updates-to-GDB" href="#Updates-to-GDB" id="Updates-to-GDB">Updates to GDB</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/bsdjhb/gdb/tree/freebsd-threads" title="https://github.com/bsdjhb/gdb/tree/freebsd-threads">New 1:1-Only Thread Target for FreeBSD</a></td><td> - URL: <a href="https://github.com/bsdjhb/gdb/tree/freebsd-threads" title="New 1:1-Only Thread Target for FreeBSD">https://github.com/bsdjhb/gdb/tree/freebsd-threads</a></td></tr></table><p> - Contact: - John - Baldwin - <<a href="mailto:jhb@FreeBSD.org">jhb@FreeBSD.org</a>> - </p> - <p>The KGDB option is now on by default in the - <tt>devel/gdb</tt> port.</p> - - <p>Changes to support cross-debugging of crashdumps in libkvm - were committed to head in r291406.</p> - - <p>A new thread target for FreeBSD that is suitable for merging - upstream has been written and lightly tested. However, it is - not yet available as an option in the port. This thread - target uses <tt>ptrace(2)</tt> directly rather than - <tt>libthread_db</tt> and as such supports threads on all ABIs - (such as FreeBSD/i386 binaries on FreeBSD/amd64 and possibly Linux - binaries, though that is not yet tested). It also requires - less-invasive changes in the MD targets in GDB compared to the - <tt>libthread_db</tt>-based target.</p> - <h3>Open tasks:</h3><ol><li> - <p>Add a port option for the new 1:1-only thread target.</p> - </li><li> - <p>Test the new 1:1-only thread target.</p> - </li><li> - <p>Figure out why the powerpc kgdb targets are not able to - unwind the stack past the initial frame.</p> - </li><li> - <p>Add support for more platforms (arm, mips, aarch64) to - upstream <tt>gdb</tt> for both userland and - <tt>kgdb</tt>.</p> - </li><li> - <p>Add support for debugging powerpc vector registers.</p> - </li></ol><hr /><br /><h1><a name="Ports" href="#Ports" id="Ports">Ports</a></h1><br /><h2><a name="Bringing-GitLab-into-the-Ports-Collection" href="#Bringing-GitLab-into-the-Ports-Collection" id="Bringing-GitLab-into-the-Ports-Collection">Bringing GitLab into the Ports Collection</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=202468" title="https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=202468">PR for the New Port</a></td><td> - URL: <a href="https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=202468" title="PR for the New Port">https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=202468</a></td></tr><tr><td><a href="https://github.com/t-zuehlsdorff/gitlabhq/blob/8-3-docu/doc/install/installation-freebsd.md" title="https://github.com/t-zuehlsdorff/gitlabhq/blob/8-3-docu/doc/install/installation-freebsd.md">Installation Guide</a></td><td> - URL: <a href="https://github.com/t-zuehlsdorff/gitlabhq/blob/8-3-docu/doc/install/installation-freebsd.md" title="Installation Guide">https://github.com/t-zuehlsdorff/gitlabhq/blob/8-3-docu/doc/install/installation-freebsd.md</a></td></tr><tr><td><a href="https://github.com/gitlabhq/gitlabhq/" title="https://github.com/gitlabhq/gitlabhq/">Upstream GitLab website</a></td><td> - URL: <a href="https://github.com/gitlabhq/gitlabhq/" title="Upstream GitLab website">https://github.com/gitlabhq/gitlabhq/</a></td></tr></table><p> - Contact: - Torsten - Zühlsdorff - <<a href="mailto:ports@toco-domains.de">ports@toco-domains.de</a>> - </p> - <p>GitLab is a web-based Git repository manager with many - features that is used by more than 100,000 organizations - including NASA and Alibaba. It also is a very long-standing - entry on the "Wanted Ports" list of the FreeBSD - Wiki.</p> - - <p>In the last quarter, there was steady progress in the project - itself and the porting. The current release of GitLab 8.3 is - now based on Rails 4.2, which obsoletes the need for around 50 - new ports. Now there are only 5 dependencies left to be - committed!</p> - - <p>While the new version of GitLab 8.3 eases the porting, there - are big changes since the last working port of GitLab 7.14. - Nonetheless, it could be expected to see the next working port - in the first quarter of 2016.</p> - <p>This project was sponsored by anyMOTION GRAPHICS GmbH, Düsseldorf, Germany.</p><h3>Open tasks:</h3><ol><li> - <p>Update the patches from GitLab 7.14 to 8.3.</p> - </li><li> - <p>Update the documentation.</p> - </li><li> - <p>Provide an updated patch.</p> - </li></ol><hr /><h2><a name="GNOME-on-FreeBSD" href="#GNOME-on-FreeBSD" id="GNOME-on-FreeBSD">GNOME on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.FreeBSD.org/gnome" title="http://www.FreeBSD.org/gnome">FreeBSD Gnome Website</a></td><td> - URL: <a href="http://www.FreeBSD.org/gnome" title="FreeBSD Gnome Website">http://www.FreeBSD.org/gnome</a></td></tr><tr><td><a href="https://github.com/FreeBSD/freebsd-ports-gnome" title="https://github.com/FreeBSD/freebsd-ports-gnome">Devel Repository</a></td><td> - URL: <a href="https://github.com/FreeBSD/freebsd-ports-gnome" title="Devel Repository">https://github.com/FreeBSD/freebsd-ports-gnome</a></td></tr><tr><td><a href="https://wiki.gnome.org/Projects/Jhbuild/FreeBSD" title="https://wiki.gnome.org/Projects/Jhbuild/FreeBSD">Upstream Build Bot</a></td><td> - URL: <a href="https://wiki.gnome.org/Projects/Jhbuild/FreeBSD" title="Upstream Build Bot">https://wiki.gnome.org/Projects/Jhbuild/FreeBSD</a></td></tr><tr><td><a href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/using-gnome.html" title="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/using-gnome.html">USE_GNOME Porter's Handbook Chapter</a></td><td> - URL: <a href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/using-gnome.html" title="USE_GNOME Porter's Handbook Chapter">https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/using-gnome.html</a></td></tr></table><p> - Contact: FreeBSD GNOME Team <<a href="mailto:freebsd-gnome@FreeBSD.org">freebsd-gnome@FreeBSD.org</a>> - </p> - <p>The FreeBSD GNOME Team maintains the GNOME, MATE, and CINNAMON - desktop environments and graphical user interfaces for FreeBSD. - GNOME 3 is part of the GNU Project. MATE is a fork of the - GNOME 2 desktop. CINNAMON is a desktop environment using - GNOME 3 technologies but with a GNOME 2 look and feel.</p> - - <p>This quarter, due to limited available time there was not - much progress. This began to change in December, when work - started on porting MATE 1.12 and CINNAMON 2.8 to FreeBSD.</p> - <h3>Open tasks:</h3><ol><li> - <p>The FreeBSD GNOME website is stale. Work is under way to - improve it.</p> - </li><li> - <p>Continue working on investigating the issues blocking - GNOME 3.18.</p> - </li></ol><hr /><h2><a name="IPv6-Promotion-Campaign" href="#IPv6-Promotion-Campaign" id="IPv6-Promotion-Campaign">IPv6 Promotion Campaign</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/IPv6PortsTODO" title="https://wiki.FreeBSD.org/IPv6PortsTODO">Wiki Page</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/IPv6PortsTODO" title="Wiki Page">https://wiki.FreeBSD.org/IPv6PortsTODO</a></td></tr></table><p> - Contact: - Torsten - Zühlsdorff - <<a href="mailto:ports@toco-domains.de">ports@toco-domains.de</a>> - </p> - <p>There are more and more machines on the internet that - <strong>only</strong> support IPv6. I manage some of them, - and was regularly hit by missing IPv6 support when - fetching the distfiles needed for building - ports.</p> - - <p>I did some research into the impact of missing IPv6 support - on the ports tree. The results are that 10,308 of 25,522 - ports are not fetchable when using IPv6. This renders, - through dependencies, a total of 17,715 ports unbuildable from - IPv6-only systems. All you can do then is wait and hope that - <tt>distcache.FreeBSD.org</tt> caches the distfile. But this - will take some time, which might not be a luxury available - when a piece of software in use is hit by a security - issue.</p> - - <p>Based on the research, a promotion campaign for IPv6 was - started. Some volunteers will contact the relevant system - administrators and try to convince them to support IPv6. This - will start in January 2016 and will hopefully create some - progress soon.</p> - <hr /><h2><a name="KDE-on-FreeBSD" href="#KDE-on-FreeBSD" id="KDE-on-FreeBSD">KDE on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://FreeBSD.kde.org/" title="https://FreeBSD.kde.org/">KDE on FreeBSD Website</a></td><td> - URL: <a href="https://FreeBSD.kde.org/" title="KDE on FreeBSD Website">https://FreeBSD.kde.org/</a></td></tr><tr><td><a href="https://FreeBSD.kde.org/area51.php" title="https://FreeBSD.kde.org/area51.php">Experimental KDE Ports Staging Area</a></td><td> - URL: <a href="https://FreeBSD.kde.org/area51.php" title="Experimental KDE Ports Staging Area">https://FreeBSD.kde.org/area51.php</a></td></tr><tr><td><a href="https://wiki.FreeBSD.org/KDE" title="https://wiki.FreeBSD.org/KDE">KDE on FreeBSD Wiki</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/KDE" title="KDE on FreeBSD Wiki">https://wiki.FreeBSD.org/KDE</a></td></tr><tr><td><a href="https://mail.kde.org/mailman/listinfo/kde-FreeBSD" title="https://mail.kde.org/mailman/listinfo/kde-FreeBSD">KDE/FreeBSD Mailing List</a></td><td> - URL: <a href="https://mail.kde.org/mailman/listinfo/kde-FreeBSD" title="KDE/FreeBSD Mailing List">https://mail.kde.org/mailman/listinfo/kde-FreeBSD</a></td></tr><tr><td><a href="http://src.mouf.net/area51/log/branches/plasma5" title="http://src.mouf.net/area51/log/branches/plasma5">Development Repository for Integrating KDE Frameworks 5 and Plasma 5</a></td><td> - URL: <a href="http://src.mouf.net/area51/log/branches/plasma5" title="Development Repository for Integrating KDE Frameworks 5 and Plasma 5">http://src.mouf.net/area51/log/branches/plasma5</a></td></tr></table><p> - Contact: KDE on FreeBSD team <<a href="mailto:kde@FreeBSD.org">kde@FreeBSD.org</a>> - </p> - <p>The KDE on FreeBSD team focuses on packaging and making sure - that the experience of KDE and Qt on FreeBSD is as good as - possible.</p> - - <p>The team kept busy during the last quarter of 2015. Quite - a few big updates were committed to the ports tree, and a few - more are being worked on in our experimental repository.</p> - - <p>As in previous quarters, we would like to thank several - people who have contributed with machines, patches, and - general help. Tobias Berner, Guido Falsi (madpilot@), - Adriaan de Groot, Ralf Nolden, Steve Wills (swills@), and - Josh Paetzel (jpaetzel@) have been essential to our work.</p> - - <p>The following big updates landed in the ports tree this - quarter. In many cases, we have also contributed patches to - the upstream projects.</p> - - <ul> - <li>CMake 3.4.0 and 3.4.1</li> - - <li>Calligra 2.9.1, the latest release of the integrated - work applications suite. Calligra had last been updated in - the ports tree at the end of 2013!</li> - - <li>PyQt4 4.11.4, QScintilla2 2.9.1 and SIP 4.17.</li> - - <li>PyQt5 5.5.1. Thanks to the work spearheaded by Guido - Falsi and Tobias Berner in the previous quarter, the PyQt5 - ports have finally been committed to the ports tree. Not - only was this long-awaited on its own, it allows other ports - to be updated to their latest versions.</li> - - <li>QtCreator 3.5.1 and 3.6.0.</li> - - <li>A couple of Qt5 packaging bugs were fixed: it should now - be more straightforward to use the Qt5 ports to build - software outside the ports tree, and it is now possible to - build ports that require a C++11 compiler and Qt5 on FreeBSD - 9.x.</li> - </ul> - - <p>Work on updating the Qt5 ports to their latest version, as - well as porting KDE Frameworks 5 and Plasma 5 to FreeBSD, is well - under way in our experimental area51 repository. At the - moment, it contains Qt5 5.5.1, KDE Frameworks 5.17.0, Plasma - 5.5.1 and KDE Applications 15.12.0.</p> - - <p>Users interested in testing those ports are encouraged to - follow the instructions in - <a href="https://FreeBSD.kde.org/area51.php" shape="rect">our website</a> - and report their results to our mailing list. Qt5 5.5.1 is in - our "qt-5.5" branch, and Plasma 5 and the rest is in - the "plasma5" branch (which also contains Qt - 5.5.1).</p> - <h3>Open tasks:</h3><ol><li> - <p>Commit the Qt5 5.5.1 update.</p> - </li><li> - <p>Land the KDE Frameworks 5 and Plasma 5 ports in the - tree.</p> - </li><li> - <p>Investigate what needs to be done to make QtWebEngine, - the Chromium-based replacement for QtWebKit, work on - FreeBSD.</p> - </li></ol><hr /><h2><a name="Linux-Kernel-as-a-Library-Added-to-the-Ports-Collection" href="#Linux-Kernel-as-a-Library-Added-to-the-Ports-Collection" id="Linux-Kernel-as-a-Library-Added-to-the-Ports-Collection">Linux Kernel as a Library Added to the Ports - Collection</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/lkl/linux" title="https://github.com/lkl/linux">Upstream LKL Github repository</a></td><td> - URL: <a href="https://github.com/lkl/linux" title="Upstream LKL Github repository">https://github.com/lkl/linux</a></td></tr></table><p> - Contact: - Conrad - Meyer - <<a href="mailto:cem@FreeBSD.org">cem@FreeBSD.org</a>> - </p> - <p>LKL ("Linux Kernel as a Library") is a special - "architecture" of the full Linux kernel that builds - as a userspace library on various platforms, including FreeBSD. - One application of such a library is using Linux filesystem - drivers to implement a FUSE backend.</p> - - <p>fusefs-lkl's <tt>lklfuse</tt> binary is such a FUSE - filesystem. It can mount <tt>ext4/3/2</tt>, <tt>XFS</tt>, and - <tt>BTRFS</tt> read-write, using the native drivers from - Linux.</p> - - <p><tt>sysutils/fusefs-lkl</tt> can now be installed either from - packages or ports, providing access to these filesystems on - FreeBSD via FUSE.</p> - <hr /><h2><a name="LXQt-on-FreeBSD" href="#LXQt-on-FreeBSD" id="LXQt-on-FreeBSD">LXQt on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/LXQt" title="https://wiki.FreeBSD.org/LXQt">FreeBSD LXQt Project</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/LXQt" title="FreeBSD LXQt Project">https://wiki.FreeBSD.org/LXQt</a></td></tr><tr><td><a href="https://www.assembla.com/spaces/lxqt/subversion/source" title="https://www.assembla.com/spaces/lxqt/subversion/source">LXQt Devel Repository</a></td><td> - URL: <a href="https://www.assembla.com/spaces/lxqt/subversion/source" title="LXQt Devel Repository">https://www.assembla.com/spaces/lxqt/subversion/source</a></td></tr></table><p> - Contact: - Olivier - Duchateau - <<a href="mailto:olivierd@FreeBSD.org">olivierd@FreeBSD.org</a>> - </p> - <p><a href="http://lxqt.org/" shape="rect">LXQt</a> is the Qt port of and - the upcoming version of LXDE, the Lightweight Desktop - Environment. It is the product of the merge between the - LXDE-Qt and the Razor-qt projects.</p> - - <p>The porting effort remains very much a work in progress: it - needs some components of Plasma 5, the new major KDE - workspace.</p> - - <p>Currently, only the 0.10 branch is functional. See our wiki - page for a complete list of applications.</p> - - <p>We also sent updates for some components of LXDE, required - for the LXQt desktop:</p> - - <ul> - <li><tt>x11/menu-cache</tt> 1.0.1</li> - - <li><tt>x11/lxmenu-data</tt> 0.1.4</li> - </ul> - - <p>Binary packages are available (only for test purposes) which - are regularly tested with the KDE development repository.</p> - <h3>Open tasks:</h3><ol><li> - <p>Port libsysstat to BSD systems.</p> - </li><li> - <p>Fix some issues that need to be resolved, especially the - shutdown and reboot commands.</p> - </li></ol><hr /><h2><a name="New-Tools-to-Enhance-the-Porting-Experience" href="#New-Tools-to-Enhance-the-Porting-Experience" id="New-Tools-to-Enhance-the-Porting-Experience">New Tools to Enhance the Porting Experience</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/FreeBSD/pytoport" title="https://github.com/FreeBSD/pytoport">pytoport: Generate FreeBSD Ports from Python modules on PyPI</a></td><td> - URL: <a href="https://github.com/FreeBSD/pytoport" title="pytoport: Generate FreeBSD Ports from Python modules on PyPI">https://github.com/FreeBSD/pytoport</a></td></tr><tr><td><a href="https://github.com/bbqsrc/bandar" title="https://github.com/bbqsrc/bandar">bandar: Create Development Overlays for the Ports Tree</a></td><td> - URL: <a href="https://github.com/bbqsrc/bandar" title="bandar: Create Development Overlays for the Ports Tree">https://github.com/bbqsrc/bandar</a></td></tr><tr><td><a href="https://github.com/bbqsrc/skog-python" title="https://github.com/bbqsrc/skog-python">skog: Generate Visual Dependency Trees for FreeBSD Ports</a></td><td> - URL: <a href="https://github.com/bbqsrc/skog-python" title="skog: Generate Visual Dependency Trees for FreeBSD Ports">https://github.com/bbqsrc/skog-python</a></td></tr><tr><td><a href="https://github.com/bbqsrc/spdx-lookup-python" title="https://github.com/bbqsrc/spdx-lookup-python">spdx-lookup: SPDX License List Query Tool</a></td><td> - URL: <a href="https://github.com/bbqsrc/spdx-lookup-python" title="spdx-lookup: SPDX License List Query Tool">https://github.com/bbqsrc/spdx-lookup-python</a></td></tr></table><p> - Contact: - Brendan - Molloy - <<a href="mailto:brendan+freebsd@bbqsrc.net">brendan+freebsd@bbqsrc.net</a>> - </p> - <p>When I starting working on ports for FreeBSD in the last couple - of weeks, I found that my workflow was not as efficient as it - could be using just the available tools, so I made a few that - could be useful to the development community at large. All of - these have been or will soon be added to the Ports tree, so - you can play with them today!</p> - - <p><tt>pytoport</tt> is a command-line application that - generates a skeleton port for a given PyPI package name. It - attempts to generate the correct dependencies, makes a good - attempt at guessing the license using <tt>spdx-lookup</tt>, - and generates a <tt>pkg-descr</tt>. This made generating the - fifteen or so ports I was working on a complete breeze.</p> - - <p>While doing this, however, I noticed that some ports were - bringing in dependencies that I did not expect, and I needed - some way to visualise this. <tt>skog</tt> builds a dependency - tree from the depends lists output by the Ports framework, and - displays it on the command line (with extra shiny output if - you are using UTF-8). No more pesky example and documentation - dependencies being dragged in when you <em>clearly</em> - toggled that <tt>OPTION</tt> as far off as it would go.</p> - - <p>While doing all of this, I found it cumbersome to be copying - ports back and forth between my small development tree living - in git and the larger upstream SVN tree I was using in - poudriere. I built a tool called <tt>bandar</tt> that takes - advantage of the FUSE version of unionfs to easily overlay my - dev tree on the upstream tree, run lint checks, poudriere, and - generate archives with ease.</p> - - <p>I am very impressed with how easy it was to build more - tooling for FreeBSD. I hope some of these tools will be of some - use to you, and as always, I'd love to hear your feedback!</p> - <h3>Open tasks:</h3><ol><li> - <p>Improve <tt>skog</tt> to support searching a tree for a - certain port.</p> - </li><li> - <p>Get the <tt>bandar</tt> port completed.</p> - </li><li> - <p>Continue to improve <tt>pytoport</tt>, adding - <tt>trove</tt> support and better dependency handling.</p> - </li><li> - <p>Patches welcome for all of the above!</p> - </li></ol><hr /><h2><a name="Node.js-Modules" href="#Node.js-Modules" id="Node.js-Modules">Node.js Modules</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.assembla.com/spaces/cozycloud/subversion/source" title="https://www.assembla.com/spaces/cozycloud/subversion/source">Node.js Modules Repository</a></td><td> - URL: <a href="https://www.assembla.com/spaces/cozycloud/subversion/source" title="Node.js Modules Repository">https://www.assembla.com/spaces/cozycloud/subversion/source</a></td></tr></table><p> - Contact: - Olivier - Duchateau - <<a href="mailto:olivierd@FreeBSD.org">olivierd@FreeBSD.org</a>> - </p> - <p>Node.js is a platform built on Chrome's JavaScript runtime - for easily building fast, scalable network applications. It - uses an event-driven, non-blocking I/O model that makes it - lightweight and efficient — perfect for data-intensive - real-time applications that run across distributed - devices.</p> - - <p>The goal of this project is to make it easy to install the - modules available in the - <a href="http://npmjs.org/" shape="rect">npm package registry</a>.</p> - - <p>Currently, the repository contains slightly fewer than 300 - new ports, in particular:</p> - - <ul> - <li>Socket.IO, a library for realtime web applications</li> - - <li>Jison, a JavaSript parser generator</li> - </ul> - - <p>We have improved the USES framework:</p> - - <ul> - <li>Users can define which version of Node.js will be - installed through <tt>/etc/make.conf</tt>.</li> - - <li><tt>node-gyp</tt> is now well-integrated into the USES - framework, via the <strong>build</strong> argument.</li> - - <li>The <tt>pkg-plist</tt> is now automatically generated - to make <tt>portlint</tt> happy.</li> - </ul> - - <p>Each port is up-to-date.</p> - <h3>Open tasks:</h3><ol><li> - <p>Update the pre-draft documentation.</p> - </li><li> - <p>Bring in grunt.js (and modules), the JavaScript task - runner.</p> - </li></ol><hr /><h2><a name="Ports-Collection" href="#Ports-Collection" id="Ports-Collection">Ports Collection</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.FreeBSD.org/ports/" title="http://www.FreeBSD.org/ports/">Ports Collection Landing Page</a></td><td> - URL: <a href="http://www.FreeBSD.org/ports/" title="Ports Collection Landing Page">http://www.FreeBSD.org/ports/</a></td></tr><tr><td><a href="https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html" title="https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html">Contributor's Guide</a></td><td> - URL: <a href="https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html" title="Contributor's Guide">https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html</a></td></tr><tr><td><a href="http://portsmon.FreeBSD.org/index.html" title="http://portsmon.FreeBSD.org/index.html">Ports Monitoring Service</a></td><td> - URL: <a href="http://portsmon.FreeBSD.org/index.html" title="Ports Monitoring Service">http://portsmon.FreeBSD.org/index.html</a></td></tr><tr><td><a href="http://www.FreeBSD.org/portmgr/index.html" title="http://www.FreeBSD.org/portmgr/index.html">Ports Management Team Website</a></td><td> - URL: <a href="http://www.FreeBSD.org/portmgr/index.html" title="Ports Management Team Website">http://www.FreeBSD.org/portmgr/index.html</a></td></tr><tr><td><a href="http://www.facebook.com/portmgr" title="http://www.facebook.com/portmgr">Portmgr on Facebook</a></td><td> - URL: <a href="http://www.facebook.com/portmgr" title="Portmgr on Facebook">http://www.facebook.com/portmgr</a></td></tr></table><p> - Contact: - Frederic - Culot - <<a href="mailto:portmgr-secretary@FreeBSD.org">portmgr-secretary@FreeBSD.org</a>> - <br /> - Contact: - Frederic - Culot - <<a href="mailto:culot@FreeBSD.org">culot@FreeBSD.org</a>> - <br /> - Contact: FreeBSD Ports Management Team <<a href="mailto:portmgr@FreeBSD.org">portmgr@FreeBSD.org</a>> - </p> - <p>As of the end of the fourth quarter, the ports tree holds a - bit more than 25,000 ports, and the PR count is around 2,000. - The activity on the ports tree remains steady, with about - 7,000 commits performed by almost 120 active committers.</p> - - <p>On the problem reports front, figures show an encouraging - trend, with a significant increase in the number of PRs fixed - during Q4. Indeed, almost 1,800 reports were fixed, which - makes an increase of about 20% compared to Q3.</p> - - <p>In Q4, eight commit bits were taken in for safekeeping, - following an inactivity period of more than 18 months (lioux, - lippe, simon, jhay, max, sumikawa, alexey, sperber). Three - new developers were granted a ports commit bit (Kenji Takefu, - Carlos Puga Medina, and Ian Lepore), and one returning - committer (miwi) had his commit bit reinstated.</p> - - <p>Also related to the management of ports commit bits, nox's - grants were revoked, since the FreeBSD developers learned that - Juergen Lock had passed away.</p> - - <p>On the management side, no changes were made to the portmgr - team during Q4.</p> - - <p>On QA side 33 exp-runs were performed to validate sensitive - updates or cleanups. Amongst those noticeable changes are the - update to GCC 4.9, CMake to 3.4.1, PostgreSQL to 9.4, and - ruby-gems to 2.5.0. Some infrastructure changes included the - usage of a <tt>WRKSRC</tt> different from <tt>WRKDIR</tt> when - <tt>NO_WRKSUBDIR</tt> is set, the removal of - <tt>bsd.cpu.mk</tt> from <tt>sys.mk</tt>, and the move of - <tt>QT_NONSTANDARD</tt> to <tt>bsd.qt.mk</tt>.</p> - <h3>Open tasks:</h3><ol><li> - <p>We would like to remind everyone that the ports tree is - built and run by volunteers, and any help is greatly - appreciated. While Q4 saw a significant increase in the - number of problem reports fixed, we encourage all ports - committers to have a look at the issues reported by our - users and try to fix as many as possible. Many thanks to - all who made a contribution during Q4, and keep up the - good work in 2016!</p> - </li></ol><hr /><h2><a name="Supporting-Variants-in-the-Ports-Framework" href="#Supporting-Variants-in-the-Ports-Framework" id="Supporting-Variants-in-the-Ports-Framework">Supporting Variants in the Ports Framework</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/bbqsrc/poudriere/compare/master...feature/variants" title="https://github.com/bbqsrc/poudriere/compare/master...feature/variants">Poudriere PoC with Variants</a></td><td> - URL: <a href="https://github.com/bbqsrc/poudriere/compare/master...feature/variants" title="Poudriere PoC with Variants">https://github.com/bbqsrc/poudriere/compare/master...feature/variants</a></td></tr><tr><td><a href="https://gist.github.com/bbqsrc/e7e3a54d84706485aa3a" title="https://gist.github.com/bbqsrc/e7e3a54d84706485aa3a">Ports Makefile PoC with Examples</a></td><td> - URL: <a href="https://gist.github.com/bbqsrc/e7e3a54d84706485aa3a" title="Ports Makefile PoC with Examples">https://gist.github.com/bbqsrc/e7e3a54d84706485aa3a</a></td></tr></table><p> - Contact: - Brendan - Molloy - <<a href="mailto:brendan+freebsd@bbqsrc.net">brendan+freebsd@bbqsrc.net</a>> - </p> - <p>I recently became involved with FreeBSD (as in, the last 2-3 - weeks), and found myself quickly involved with Ports - development. What struck me immediately was the difficulty in - providing a Python package that was depended upon by multiple - versions of Python. As it turns out, poudriere can currently - only generate one package per port, meaning that a Python - version-neutral (compatible with 2.x and 3.x) port cannot - simultaneously be packaged for each variant at the same - time.</p> - - <p>I discussed the issue with Kubilay Kocak, who suggested that I - look into implementing a "variants protocol" within - the Ports framework and the necessary changes to poudriere to - allow a port to generate more than one package.</p> - - <p>Support for variants is strongly needed in Ports and - provides significant benefits.</p> - - <ul> - <li>It would allow Python and other languages to provide - packages for dependencies for multiple language versions - from the same port.</li> - - <li>It alleviates the need for so-called "slave - ports", as a single port could now have multiple - generated packages from a single port.</li> - - <li>It would have a very small impact on the greater Ports - ecosystem: adding only two new variables, <tt>VARIANT</tt> - and <tt>VARIANTS</tt>.</li> - - <li>It would provide a more consistent approach between - different packaging teams for handling variations.</li> - </ul> - - <p>For a simple example, <tt>editors/vim-lite</tt> could - be folded into the <tt>editors/vim</tt> port, while still - generating a <tt>vim</tt> and <tt>vim-lite</tt> package. - For Python, <tt>VARIANTS</tt> can be derived from the already - used <tt>USES</tt> flags and generate compatible packages. - <tt>py27-foobar</tt> and <tt>py34-foobar</tt> could now be - consistently generated by poudriere without issue.</p> - - <p>Fortunately, this is not a wishful thinking piece. I dug - in my heels and have implemented a proof-of-concept - implementation of variants in the Ports framework, including - the necessary modifications to poudriere in order to support - it. It was mildly upsettling to find that poudriere is mostly - written in Bourne shell scripts, but I pressed on - nonetheless.</p> - - <p>I started with - <a href="https://github.com/bapt/ports-wip/compare/variants" shape="rect">the prototype made by Baptiste Daroussin</a> - as a base, and built from there. The poudriere PoC aims to - limit changes as much as possible to merely adding support for - the new variants flags, while also at the request of Kubilay Kocak - making the logging output more package-centric (as opposed to - port-centric) as a result of these changes.</p> - - <p>This is a <strong>work in progress</strong>, and I would - love to hear your feedback. I have enjoyed my first few weeks - working on FreeBSD, and I hope to stay here for quite some - time.</p> - <h3>Open tasks:</h3><ol><li> - <p>Any constructive feedback on the implementation would be - very welcome!</p> - </li><li> - <p>Hopefully the code will be of sufficient quality to be - considered for formal review in the coming months.</p> - </li></ol><hr /><h2><a name="Xfce-on-FreeBSD" href="#Xfce-on-FreeBSD" id="Xfce-on-FreeBSD">Xfce on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/Xfce" title="https://wiki.FreeBSD.org/Xfce">FreeBSD Xfce Project</a></td><td> - URL: <a href="https://wiki.FreeBSD.org/Xfce" title="FreeBSD Xfce Project">https://wiki.FreeBSD.org/Xfce</a></td></tr><tr><td><a href="https://www.assembla.com/spaces/xfce4/subversion/source" title="https://www.assembla.com/spaces/xfce4/subversion/source">FreeBSD Xfce Repository</a></td><td> - URL: <a href="https://www.assembla.com/spaces/xfce4/subversion/source" title="FreeBSD Xfce Repository">https://www.assembla.com/spaces/xfce4/subversion/source</a></td></tr></table><p> - Contact: FreeBSD Xfce Team <<a href="mailto:xfce@FreeBSD.org">xfce@FreeBSD.org</a>> - </p> - <p>Xfce is a free software desktop environment for Unix and - Unix-like platforms, such as FreeBSD. It aims to be fast and - lightweight, while still being visually appealing and easy to - use.</p> - - <p>During this quarter, the team has kept these applications - up-to-date:</p> - - <ul> - <li><tt>audio/xfce4-pulseaudio-plugin</tt> 0.2.4</li> - <li><tt>multimedia/xfce4-parole</tt> 0.8.1</li> - <li><tt>x11/xfce4-whiskermenu-plugin</tt> 1.5.2</li> - </ul> - - <p>We also follow the unstable releases (available in our - experimental repository) of:</p> - - <ul> - <li><tt>x11/xfce4-dashboard</tt> 0.5.4</li> - </ul> - <h3>Open tasks:</h3><ol><li> - <p>Propose a patch to upstream to fix Xfdashboard with our - version of OpenGL (it currently coredumps).</p> - </li></ol><hr /><br /><h1><a name="Documentation" href="#Documentation" id="Documentation">Documentation</a></h1><br /><h2><a name=""FreeBSD-Mastery:-Specialty-Filesystems"-Early-Access-Version-Now-Available" href="#"FreeBSD-Mastery:-Specialty-Filesystems"-Early-Access-Version-Now-Available" id=""FreeBSD-Mastery:-Specialty-Filesystems"-Early-Access-Version-Now-Available">"FreeBSD Mastery: Specialty Filesystems" Early Access Version Now Available</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.michaelwlucas.com/nonfiction/fmsf" title="https://www.michaelwlucas.com/nonfiction/fmsf">Book site</a></td><td> - URL: <a href="https://www.michaelwlucas.com/nonfiction/fmsf" title="Book site">https://www.michaelwlucas.com/nonfiction/fmsf</a></td></tr><tr><td><a href="https://www.tiltedwindmillpress.com/?product=fmspf" title="https://www.tiltedwindmillpress.com/?product=fmspf">Early access version</a></td><td> - URL: <a href="https://www.tiltedwindmillpress.com/?product=fmspf" title="Early access version">https://www.tiltedwindmillpress.com/?product=fmspf</a></td></tr></table><p> - Contact: - Michael - Lucas - <<a href="mailto:mwlucas@michaelwlucas.com">mwlucas@michaelwlucas.com</a>> - </p> - <p><u>FreeBSD Mastery: Specialty Filesystems</u> is now in - copyediting. The ebook should be available by the end of - January at all major vendors, and the print in February.</p> - - <p>The book covers everything from removable media, to FUSE, - NFSv4 ACLs, iSCSI, CIFS, and more.</p> - - <p>If you act really quickly, you can get the electronic early - access version at a 10% discount. You will get the final - ebook when it comes out as well. (This offer evaporates when - the final version comes out.)</p> - <hr /><h2><a name="style(9)-Enhanced-to-Allow-C99-bool" href="#style(9)-Enhanced-to-Allow-C99-bool" id="style(9)-Enhanced-to-Allow-C99-bool">style(9) Enhanced to Allow C99 - bool</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://lists.FreeBSD.org/pipermail/svn-src-head/2015-December/079671.html" title="https://lists.FreeBSD.org/pipermail/svn-src-head/2015-December/079671.html">Bruce's Email Requesting bool be Added to style(9)</a></td><td> - URL: <a href="https://lists.FreeBSD.org/pipermail/svn-src-head/2015-December/079671.html" title="Bruce's Email Requesting bool be Added to style(9)">https://lists.FreeBSD.org/pipermail/svn-src-head/2015-December/079671.html</a></td></tr><tr><td><a href="https://reviews.FreeBSD.org/D4384" title="https://reviews.FreeBSD.org/D4384">Differential Revision for the Change</a></td><td> - URL: <a href="https://reviews.FreeBSD.org/D4384" title="Differential Revision for the Change">https://reviews.FreeBSD.org/D4384</a></td></tr></table><p> - Contact: - Bruce - Evans - <<a href="mailto:brde@optusnet.com.au">brde@optusnet.com.au</a>> - <br /> - Contact: - Conrad - Meyer - <<a href="mailto:cem@FreeBSD.org">cem@FreeBSD.org</a>> - </p> - <p>Use of <tt>bool</tt> is now allowed. It was allowed - previously, as well, but now it is <em>really</em> allowed. - Party like it's 1999!</p> - <p>This project was sponsored by EMC / Isilon Storage Division.</p><h3>Open tasks:</h3><ol><li> - <p>Specify <tt>style(9)</tt>'s opinion on - <tt>iso646.h.</tt></p> - </li><li> - <p>Fix <tt>intmax_t</tt> to be 128-bit on platforms where - <tt>__int128_t</tt> is used.</p> - </li></ol><hr /><br /><h1><a name="Miscellaneous" href="#Miscellaneous" id="Miscellaneous">Miscellaneous</a></h1><br /><h2><a name="HardenedBSD" href="#HardenedBSD" id="HardenedBSD">HardenedBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://hardenedbsd.org/" title="https://hardenedbsd.org/">HardenedBSD Website</a></td><td> - URL: <a href="https://hardenedbsd.org/" title="HardenedBSD Website">https://hardenedbsd.org/</a></td></tr><tr><td><a href="https://hardenedbsd.org/article/shawn-webb/2015-12-31/introducing-hardenedbsds-new-binary-updater" title="https://hardenedbsd.org/article/shawn-webb/2015-12-31/introducing-hardenedbsds-new-binary-updater">Introducing HardenedBSD's New Binary Updater</a></td><td> - URL: <a href="https://hardenedbsd.org/article/shawn-webb/2015-12-31/introducing-hardenedbsds-new-binary-updater" title="Introducing HardenedBSD's New Binary Updater">https://hardenedbsd.org/article/shawn-webb/2015-12-31/introducing-hardenedbsds-new-binary-updater</a></td></tr><tr><td><a href="https://hardenedbsd.org/article/shawn-webb/2015-11-22/introducing-secadm-030-beta-01" title="https://hardenedbsd.org/article/shawn-webb/2015-11-22/introducing-secadm-030-beta-01">secadm Beta Published</a></td><td> - URL: <a href="https://hardenedbsd.org/article/shawn-webb/2015-11-22/introducing-secadm-030-beta-01" title="secadm Beta Published">https://hardenedbsd.org/article/shawn-webb/2015-11-22/introducing-secadm-030-beta-01</a></td></tr><tr><td><a href="https://hardenedbsd.org/article/admin/2015-11-22/new-package-building-server" title="https://hardenedbsd.org/article/admin/2015-11-22/new-package-building-server">New Package Building Server</a></td><td> - URL: <a href="https://hardenedbsd.org/article/admin/2015-11-22/new-package-building-server" title="New Package Building Server">https://hardenedbsd.org/article/admin/2015-11-22/new-package-building-server</a></td></tr><tr><td><a href="https://github.com/HardenedBSD/secadm" title="https://github.com/HardenedBSD/secadm">secadm</a></td><td> - URL: <a href="https://github.com/HardenedBSD/secadm" title="secadm">https://github.com/HardenedBSD/secadm</a></td></tr><tr><td><a href="https://github.com/HardenedBSD/hardenedBSD-playground/tree/hardened/experimental/master-i915" title="https://github.com/HardenedBSD/hardenedBSD-playground/tree/hardened/experimental/master-i915">HardenedBSD Haswell Support</a></td><td> - URL: <a href="https://github.com/HardenedBSD/hardenedBSD-playground/tree/hardened/experimental/master-i915" title="HardenedBSD Haswell Support">https://github.com/HardenedBSD/hardenedBSD-playground/tree/hardened/experimental/master-i915</a></td></tr><tr><td><a href="http://jenkins.hardenedbsd.org/builds/HardenedBSD-CURRENT-i915kms-amd64-LATEST/" title="http://jenkins.hardenedbsd.org/builds/HardenedBSD-CURRENT-i915kms-amd64-LATEST/">Nightly Builds for HardenedBSD Haswell Support</a></td><td> - URL: <a href="http://jenkins.hardenedbsd.org/builds/HardenedBSD-CURRENT-i915kms-amd64-LATEST/" title="Nightly Builds for HardenedBSD Haswell Support">http://jenkins.hardenedbsd.org/builds/HardenedBSD-CURRENT-i915kms-amd64-LATEST/</a></td></tr></table><p> - Contact: - Shawn - Webb - <<a href="mailto:shawn.webb@hardenedbsd.org">shawn.webb@hardenedbsd.org</a>> - <br /> - Contact: - Oliver - Pinter - <<a href="mailto:oliver.pinter@hardenedbsd.org">oliver.pinter@hardenedbsd.org</a>> - </p> - <p>HardenedBSD has been hard at work improving the performance - and stability of our security enhancements. Security flags - are now per-thread instead of per-process, removing some - locking overhead. ASLR for mmap(MAP_32BIT) requests has been - refactored, but lib32 is now disabled by default.</p> - - <p>We have developed a new binary update utility, - <tt>hbsd-update</tt>, akin to <tt>freebsd-update</tt>. In - addition to normal OS installs, it can also update jails and - ZFS Boot Environments (ZFS BEs). Updates are signed using - X.509 certificates.</p> - - <p><tt>secadm</tt> 0.3-beta has landed. It has been rewritten - from scratch to be more efficient. As part of the rewrite, - the rule syntax has changed and users must update their - rulesets as described in the README.</p> - - <p>Thanks to generous donations of a server from G2, Inc and - hosting from Automated Tendencies, we can now do full - package builds in just 35 hours, down from 75 hours. - This machine will also provide weekly binary updates for - the kernel and base system.</p> - - <p>Owing partly to the needs of the developers, we have - an experimental branch that includes the work Jean-Sébastien Pédron has - under way for Haswell graphics support, on top of FreeBSD - 11-current. Binary updates are also provided for this - branch.</p> - - <p>Unfortunately, in order to focus our efforts on improving - HardenedBSD, we have had to pull back from submitting our ASLR - patches to FreeBSD. The past two years' efforts to address - comments on the submission have taken their toll, and the - effort is no longer sustainable. We are proud to be based on - FreeBSD and believe that the whole community could benefit from - the security technologies we are developing. We hope that - someone else will be able to step forward and finish off the - task of integrating ASLR into FreeBSD.</p> - <p>This project was sponsored by Automated Tendencies, G2, Inc, and SoldierX.</p><hr /><h2><a name="NanoBSD-Modernization" href="#NanoBSD-Modernization" id="NanoBSD-Modernization">NanoBSD Modernization</a></h2><p> - Contact: - Warner - Losh - <<a href="mailto:imp@FreeBSD.org">imp@FreeBSD.org</a>> - </p> - <p>This quarter's NanoBSD updates target three main areas. First, - building a NanoBSD image required root privileges. Second, - building for embedded platforms required detailed knowledge of - the format required to boot. Third, the exact image sizes - needed to be known to produce an image.</p> - - <p>When NanoBSD was written, FreeBSD's build system required root - privileges for the install step and onward. NanoBSD added to - this by creating a <tt>md(4)</tt> device in which to construct the - image. Some configurations of NanoBSD added further to this - by creating a chroot in which to cleanly build packages. - NanoBSD solves the first problem using the new - <tt>NO_ROOT</tt> build option to create a meta file. NanoBSD - also augments this record as files are created and removed. - The meta file is then fed into <tt>makefs(8)</tt> to create a - UFS image with the proper permissions. The UFS image, and - sometimes a DOS FAT partition, are then passed to - <tt>mkimg(1)</tt> to create the final SD image. The - <tt>mtree</tt> manipulation has been written as a separate - script to allow it to move into the base system where it could - assist with other build orchestration tools (though the move - has not happened yet).</p> - - <p>The detailed knowledge of how to build each embedded image - (as well as some of the base images for qemu) has always been - hard to enshrine. Crochet puts this knowledge into its - builds. The FreeBSD release system puts it into its system. - NanoBSD, prior to the current work, provided no way to access - its knowledge of how to build images. The current state of - this project allows the user to set a simple image type and - have NanoBSD deal with all of the details needed to create - that image type. This includes using the u-boot ports and - installing the right files into a FAT partition so that FreeBSD - can boot with <tt>ubldr(8)</tt>, creating the right - <tt>boot1.elf</tt> file for powerpc64 qemu booting, or the - more familiar (though needlessly complicated) x86 setup. - Previous versions of NanoBSD required too much specialized - knowledge from the user. This work aims to concentrate the - knowledge into a set of simple scripts for any build - orchestration system to use.</p> - - <p>Finally, NanoBSD images in the past have needed very - specific knowledge of the target device. Part of this is a - legacy of the BIOS state-of-the-art a decade ago, which - required very careful matching of the image to the actual - device in the deployed system. Although relevant at the time, - such systems are now vanishingly rare. Support for them will - be phased out (though given the flexibility of NanoBSD, it can - be moved to the few remaining examples in the tree and also - partially covered by the generic image scripts). Today, the - typical use case is to create an SD or microSD card image, and - have the image resize itself on boot. NanoBSD now supports - that workflow.</p> - - <p>In addition to these items, a number of minor improvements - have been made:</p> - - <ul> - <li>Support for <tt>CPUTYPE</tt>-specialized builds. This - includes both NanoBSD support as well as important bug fixes - in the base system.</li> - - <li>Support for marking MBR partitions as active.</li> - - <li>Support for more partition types.</li> - </ul> - <h3>Open tasks:</h3><ol><li> - <p><tt>mkimg(8)</tt> needs to be augmented to create images - for the i.MX6 and Allwinner (and others) SoCs. These SoCs - require a boot image to be written after the MBR, but before - the first partition starts.</p> - </li><li> - <p>The chroot functionality of some NanoBSD configurations - has not yet been migrated for non-privileged builds.</p> - </li><li> - <p>The functionality to manipulate <tt>mtree(8)</tt> files - should be moved into the base system for use by other build - orchestration tools.</p> - </li><li> - <p>The script to create a bootable image from one or more - trees of files, as well as some creation of those trees, - should be moved into the base system for use with other - build orchestration tools.</p> - </li><li> - <p>The <tt>growfs</tt> functionality works great for single - images growing to the whole disk. However, NanoBSD would - prefer that the boot FS/partition grow to approximately 1/2 - the size of the media and another identical (or close) - partition be created for the ping-ponging upgrades that - NanoBSD is setup for. This needs to be implemented in the - <tt>growfs</tt> <tt>rc.d(8)</tt> script.</p> - </li></ol><hr /><h2><a name="relaunchd" href="#relaunchd" id="relaunchd">relaunchd</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/mheily/relaunchd" title="https://github.com/mheily/relaunchd">Development tree on GitHub</a></td><td> - URL: <a href="https://github.com/mheily/relaunchd" title="Development tree on GitHub">https://github.com/mheily/relaunchd</a></td></tr></table><p> - Contact: - Mark - Heily - <<a href="mailto:mark@heily.com">mark@heily.com</a>> - </p> - <p>The <tt>relaunchd</tt> project provides a service - management daemon that is similar to the original - <a href="https://en.wikipedia.org/wiki/Launchd" shape="rect">launchd</a> - introduced in Apple OS X.</p> - - <p>It is not limited to the original features of - <tt>launchd</tt>, however: interesting work is being done to - add support for launching programs in jails, passing socket - descriptors from the host to a jail, and launching programs - within a preconfigured <tt>capsicum(4)</tt> sandbox. - Additionally, <tt>relaunchd</tt> uses UCL for its - configuration files, so jobs can be defined in JSON or other - formats supported by UCL.</p> - - <p>While there is still work to be done, most of the important - features of the original <tt>launchd</tt> have been - implemented, and <tt>relaunchd</tt> has been made available in - the FreeBSD Ports Collection. It should still be considered - experimental and not ready for production use, but everyone is - welcome to try it, report issues, and contribute code or ideas - for improvement.</p> - <h3>Open tasks:</h3><ol><li> - <p>Add support for restarting jobs if they crash.</p> - </li><li> - <p>Implement the <tt>cron(8)</tt> emulation feature.</p> - </li><li> - <p>Add support for monitoring files and directories for - changes and launching jobs when changes are detected.</p> - </li><li> - <p>Finish things that are incomplete, such as support for - jails and passing open socket descriptors to child - processes.</p> - </li><li> - <p>Improve the documentation and provide more examples of - usage.</p> - </li></ol><hr /><h2><a name="System-Initialization-and-Service-Management" href="#System-Initialization-and-Service-Management" id="System-Initialization-and-Service-Management">System Initialization and Service Management</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.daemonspawn.org/2016/01/a-comparison-of-alternatives-to-init8.html" title="http://www.daemonspawn.org/2016/01/a-comparison-of-alternatives-to-init8.html">A Comparison of init(8) and rc(8) Replacements</a></td><td> - URL: <a href="http://www.daemonspawn.org/2016/01/a-comparison-of-alternatives-to-init8.html" title="A Comparison of init(8) and rc(8) Replacements">http://www.daemonspawn.org/2016/01/a-comparison-of-alternatives-to-init8.html</a></td></tr></table><p> - Contact: - Mark - Heily - <<a href="mailto:mark@heily.com">mark@heily.com</a>> - <br /> - Contact: - Jonathan - de Boyne Pollard - <<a href="mailto:J.deBoynePollard-newsgroups@NTLWorld.COM">J.deBoynePollard-newsgroups@NTLWorld.COM</a>> - <br /> - Contact: - Jordan - Hubbard - <<a href="mailto:jkh@FreeBSD.org">jkh@FreeBSD.org</a>> - </p> - <p>There are three active projects to provide an alternative - to the traditional <tt>init(8)</tt> and <tt>rc(8)</tt> - subsystems that manage the boot process and system services. - There are a number of reasons driving the desire for change, - including:</p> - - <ul> - <li>Faster boot times, made possible by launching services - in parallel</li> - - <li>Greater reliability, by ensuring that services are - automatically restarted if they terminate unexpectedly</li> - - <li>Simplified dependency management, using socket - activation and similar techniques</li> - - <li>The ability to launch services "on demand", - and have them self-terminate when idle</li> - - <li>Improved security, by removing the need to start common - daemons as the root user</li> - </ul> - - <p> Two of the projects, <tt>launchd</tt> and - <tt>relaunchd</tt>, are based on the <tt>launchd(8)</tt> API - introduced by Apple in Mac OS X. The NextBSD project has - ported the original Apple source code by writing a Mach - compatibility layer that allows <tt>launchd</tt> to run on - FreeBSD. The <tt>relaunchd</tt> project started from scratch - with the goal of creating a more modular, lightweight, and - portable implementation of the <tt>launchd</tt> API. The - third project, <tt>nosh</tt>, is a unique creation that - borrows concepts from <tt>launchd</tt>, <tt>systemd</tt>, and - several other Unix operating systems.</p> - - <p>While the FreeBSD Project has not made a decision to replace the - current <tt>init(8)</tt> and <tt>rc(8)</tt> subsystems, the - existence and active development of alternatives will continue - to drive innovation in this space.</p> - - <p>Jordan Hubbard is the contact point for the NextBSD - <tt>launchd</tt>, Jonathan de Boyne Pollard is the contact - point for <tt>nosh</tt>, and Mark Heily is the contact point - for <tt>relaunchd</tt>.</p> - <hr /><h2><a name="The-FreeBSD-Foundation" href="#The-FreeBSD-Foundation" id="The-FreeBSD-Foundation">The FreeBSD Foundation</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.FreeBSDFoundation.org/" title="http://www.FreeBSDFoundation.org/">Foundation Website</a></td><td> - URL: <a href="http://www.FreeBSDFoundation.org/" title="Foundation Website">http://www.FreeBSDFoundation.org/</a></td></tr><tr><td><a href="http://FreeBSDJournal.com/" title="http://FreeBSDJournal.com/">FreeBSD Journal</a></td><td> - URL: <a href="http://FreeBSDJournal.com/" title="FreeBSD Journal">http://FreeBSDJournal.com/</a></td></tr></table><p> - Contact: - Deb - Goodkin - <<a href="mailto:deb@FreeBSDFoundation.org">deb@FreeBSDFoundation.org</a>> - </p> - <p>The FreeBSD Foundation is a 501(c)(3) non-profit - organization dedicated to supporting and promoting the FreeBSD - Project and community worldwide. Funding comes from - individual and corporate donations and is used to fund and - manage development projects, conferences and developer - summits, and provide travel grants to FreeBSD developers. The - Foundation purchases hardware to improve and maintain FreeBSD - infrastructure and publishes FreeBSD white papers and marketing - material to promote, educate, and advocate for the FreeBSD - Project. The Foundation also represents the FreeBSD Project in - executing contracts, license agreements, and other legal - arrangements that require a recognized legal entity.</p> - - <p>Here are some highlights of what we did to help FreeBSD - last quarter:</p> - - <p>On the advocacy front, the Foundation attended and - sponsored EuroBSDcon, which took place Oct 1-4 - (<a href="https://2015.eurobsdcon.org/" shape="rect">https://2015.eurobsdcon.org/</a>) - in Stockholm, Sweden. Two days prior, during the developer - summit, Deb Goodkin ran a session on Recruiting to FreeBSD. The - Foundation was also very active during the event itself; in - addition to Deb, we had Dru Lavigne, Kirk McKusick, Erwin Lansing, - Ed Maste, Hiroki Sato, Benedict Reuschling, and Edward Tomasz Napierała attend the - conference. Deb and Ed gave a presentation on how the - Foundation supports a BSD project. Kirk gave a presentation - on "a Brief History of the BSD Fast File System," - and he taught the two-day tutorial "Introduction to the - FreeBSD Open-Source Operating System."</p> - - <p>Deb then attended the 2015 Grace Hopper Conference that was - held in Houston, TX, October 14-16. The conference is for - women in computing and most of the attendees were female - computer science majors, female software developers, and - college professors. The Foundation was proud to be a Silver - Sponsor. The conference was very successful for us. Our - presence allowed us to raise awareness of the Project, help - recruit more women, and get more professors to include FreeBSD in - their curriculum.</p> - - <p>George V. Neville-Neil traveled to Bangkok, Thailand to present talks on - DTrace, FreeBSD, and teaching with DTrace. The talks were - presented at Chulalongkorn University, which is the largest - University in Thailand with the largest engineering school. - The first talk was the practitioner's introduction to DTrace - in which the technology, history and usage is explained - without diving into all the kernel subsystems. The second was - the sales pitch for teaching with Dtrace and with FreeBSD. The - pitch was well received and there were some very good points - made by the audience. The facts that the course materials are - both open source and hosted on github were also well - received.</p> - - <p>Kirk McKusick completed a 10-hour tutorial about FreeBSD for - Pearson Education in their "Live Lesson" program. - In particular, there is a great free snippet from that course - comparing FreeBSD against Linux here: - <a href="http://youtu.be/dTpqALCwQ1Y?a" shape="rect">http://youtu.be/dTpqALCwQ1Y?a</a>. - Find out more about the whole session at: - <a href="http://click.linksynergy.com/fs-bin/click?id=NZS3W7D*uS0&subid=&offerid=163217.1&type=10&tmpid=3559&RD_PARM1=http%253A%252F%252Fwww.informit.com%252Fstore%252Fintroduction-to-the-FreeBSD-open-source-operating-system-9780134305868" shape="rect">http://click.linksynergy.com/fs-bin/click?id=NZS3W7D*uS0&subid=&offerid=163217.1&type=10&tmpid=3559&RD_PARM1=http%253A%252F%252Fwww.informit.com%252Fstore%252Fintroduction-to-the-freebsd-open-source-operating-system-9780134305868</a>.</p> - - <p>Anne Dickison resumed the Faces of FreeBSD series with - interviews featuring Michael Dexter and Erin Clark. She also - continued to produce and distribute FreeBSD materials for - conferences, as well as advocating for FreeBSD over our social - channels.</p> - - <p>George V. Neville-Neil headed up the latest Silicon Valley Vendor and - Developer Summit, November 2-3, at the NetApp campus in - Sunnyvale, California. Topics of discussion ranged over new - developments in persistent memory, the use of FreeBSD by a - company that builds rackscale systems, developments in our - compiler and tool suite, as well as others. Additional - Foundation Board and Staff attending the summit included: Deb - Goodkin, Glen Barber, Justin T. Gibbs, Kirk McKusick, Ed Maste, and - Hiroki Sato. The complete schedule, and some of the slides, are - available on the FreeBSD Wiki - <a href="https://wiki.FreeBSD.org/201511VendorDevSummit" shape="rect">https://wiki.freebsd.org/201511VendorDevSummit</a>.</p> - - <p>Notes from the always lively "Have/Need/Want - session" are available at - <a href="https://wiki.FreeBSD.org/201511VendorDevSummit/HaveNeedWant" shape="rect">https://wiki.freebsd.org/201511VendorDevSummit/HaveNeedWant</a>.</p> - - <p>While in the Bay Area, some Foundation members visited - commercial users of FreeBSD to help understand their needs, - update them on the work the Foundation is doing, and - facilitate collaboration between them and the Project.</p> - - <p>We were a sponsor of the 2015 OpenZFS Developer - Summit, which took place October 19-20, in San Francisco, CA. - Justin T. Gibbs and Kirk McKusick attended the conference.</p> - - <p>Justin T. Gibbs continued his semester long class teaching - Intro to Computer Science using FreeBSD at a middle - school.</p> - - <p>Ed Maste, Edward Tomasz Napierała, and Konstantin Belousov continue to make - progress on Foundation funded development projects. More - specifically:</p> - - <ul> - <li>Ed Worked on a number of items relating to the - tool chain: LLD linker, ELF Tool Chain components, and LLDB - debugger, and tested, integrated, and merged outstanding - UEFI work.</li> - - <li>Edward finished work on the reroot project as well as - spending some time on a certificate-transparency port. He - also implemented a prototype to support disk IO limit in - RCTL.</li> - - <li>Konstantin rewrote the out of memory killer logic, which, - in particular, fixed FreeBSD operation on systems without swap, - especially systems with very little memory. The latter are - becoming more and more common with the popularity of embedded - ARM platforms where FreeBSD runs, but it also affects large - systems which are usually configured without swap. He also - finalized and committed the shared page support for the - ARMv7 and ARMv8 systems. This allows for a non-executable - stack on ARMv7, and a much faster userspace - <tt>gettimeofday(2)</tt> for both, similar to x86.</li> - </ul> - - <p>Ed Maste presented a FreeBSD/arm64 talk and a hands-on - demo at ARM Techcon, which took place November 10-12, 2015, in - Santa Clara, CA.</p> - - <p>We continued publishing our monthly newsletters and - acquiring new company testimonials about using FreeBSD, including - from Verisign and Nginx.</p> - - <p>Anne Dickison, Dru Lavigne, and Glen Barber represented the - Foundation at USENIX LISA '15, which took place November 3-8, - in Washington D.C.. The Foundation had a booth in the Expo - Hall and participated in a BoF. Besides connecting with - current community members, we spoke with attendees who were - interested in getting involved with the Project and helped - set them on the correct path. We also took the opportunity to - remind those who had not used FreeBSD in a while what they were - missing. Glen also attended the USENIX Release Engineering - Summit, which was co-located with LISA '15.</p> - - <p>We published the Sept/Oct and Nov/Dec issues of the - FreeBSD Journal.</p> - - <p>George V. Neville-Neil and Robert Watson announced the release of - their TeachBSD initiative: - <a href="http://teachbsd.org/" shape="rect">http://teachbsd.org/</a>. - TeachBSD offers a set of open source reusable course materials designed to - allow others to teach both university students and software - practitioners FreeBSD operating system fundamentals. The - Foundation is proud to have partly sponsored their efforts to - teach the initial graduate level course on operating systems - with tracing at the University of Cambridge.</p> - - <p>Deb Goodkin invited a representative from the - Outreachy program to talk at the Ottawa FreeBSD Developer Summit - about the program and how we can get involved.</p> - - <p>Deb also started discussions with CS professors from - the University of Colorado, Boulder to offer some Intro to - FreeBSD workshops.</p> - - <p>Glen Barber continued wearing many hats to support to the - Project. For Release Engineering: - <ul> - <li>Added support for building <tt>BANANAPI</tt>, - <tt>CUBIEBOARD</tt>, and <tt>CUBIEBOARD2</tt> arm - images.</li> - - <li>Deprecated the use of MD5 checksums for verifying - installation media downloaded from the FreeBSD Project - mirrors.</li> - - <li>Various miscellaneous updates and fixes to release - build code.</li> - - <li>Continued providing regular development snapshot - builds.</li> - </ul> - Under Systems Administration: - <ul> - <li>Assisted the Admins team with migrating various - services to two new colocation facilities near Sunnyvale, - generously provided by RootBSD and LimeLight - Networks.</li> - - <li>Moved email services for the Foundation to a new - server.</li> - </ul> - </p> - - <p>Ed Maste attended the Reproducible Builds World - Summit, which took place in Athens, Greece, December 1-3, - 2015.</p> - - <p>We wrapped up our 2015 fundraising efforts with our - End-of-Year fundraising campaign by participating in - #GivingTuesday, and continuing with weekly email and social - media requests for support of the Foundation. Final - fundraising numbers will be available in Q1 2016.</p> - <hr /><a href="../news.html">News Home</a> | <a href="status.html">Status Home</a></div> - <br class="clearboth" /> - </div> - <div id="footer"> - <span><a href="../../search/index-site.html">Site Map</a> | - <a href="../../copyright/">Legal Notices</a> | © 1995–2021 The FreeBSD Project. - All rights reserved.</span> - <br /> - </div> - </div> - </div> - </body> -</html> |
