From 76204f11557d959b4a338fc4587d9211818634e9 Mon Sep 17 00:00:00 2001 From: Warren Block Date: Sun, 31 Jan 2016 21:51:40 +0000 Subject: [PATCH] Editing pass. Yes, I changed stuff. It got a bit weird with the time travel in the third act, and the whole car chase scene did not make sense. --- .../news/status/report-2015-10-2015-12.xml | 479 +++++++++--------- 1 file changed, 243 insertions(+), 236 deletions(-) diff --git a/en_US.ISO8859-1/htdocs/news/status/report-2015-10-2015-12.xml b/en_US.ISO8859-1/htdocs/news/status/report-2015-10-2015-12.xml index 7d8cbe32f8..98fc6ec511 100644 --- a/en_US.ISO8859-1/htdocs/news/status/report-2015-10-2015-12.xml +++ b/en_US.ISO8859-1/htdocs/news/status/report-2015-10-2015-12.xml @@ -104,7 +104,7 @@

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 &os;. One - application of such a library is using Linux's filesystem drivers + application of such a library is using Linux filesystem drivers to implement a FUSE backend.

fusefs-lkl's lklfuse binary is such a FUSE @@ -112,14 +112,14 @@ BTRFS read-write, using the native drivers from Linux.

-

The sysutils/fusefs-lkl port may now be installed from +

sysutils/fusefs-lkl can now be installed either from packages or ports, providing access to these filesystems on &os; via FUSE.

- Style(9) enhanced to allow C99 'bool' + <tt>style(9)</tt> Enhanced to Allow C99 <tt>bool</tt> @@ -146,7 +146,7 @@

Use of bool is now allowed. It was allowed - previously, as well, but now it's really allowed. Party + previously, as well, but now it is really allowed. Party like it's 1999!

@@ -167,7 +167,7 @@
- Sysctl enhancements + <tt>sysctl</tt> Enhancements @@ -201,13 +201,13 @@ -

This quarter, support was added for fixed-width sysctls +

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 sysctl(9) manual page. The sysctl(8) command line tool supports all of the new types.

-

sysctl(8) gained the '-t' flag, which prints sysctl type +

sysctl(8) gained the -t flag, which prints sysctl type information (the original patch was submitted by Yoshihiro Ota). This support includes the newly added fixed-width types.

@@ -218,7 +218,7 @@
- ioat(4) driver enhancements + <tt>ioat(4)</tt> Driver Enhancements @@ -240,8 +240,8 @@ engines built into some Intel Server/Storage platform CPUs.

-

This quarter, several enhancements were made to the driver. - The driver now avoids memory allocation in locked paths, which +

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 @@ -261,7 +261,7 @@ - ntb_hw(4)/if_ntb(4) driver synced up to Linux + <tt>ntb_hw(4)</tt>/<tt>if_ntb(4)</tt> Driver Synced up to Linux @@ -311,7 +311,7 @@ - &os; on newer ARM boards + &os; on Newer ARM Boards @@ -337,9 +337,9 @@ -

This quarter, we made the changes necessary to support the +

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 + 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 @@ -387,7 +387,7 @@ - "FreeBSD Mastery: Specialty Filesystems" early access version now available + "FreeBSD Mastery: Specialty Filesystems" Early Access Version Now Available @@ -413,7 +413,7 @@ NFSv4 ACLs, iSCSI, CIFS, and more.

If you act really quickly, you can get the electronic early - access version at a 10% discount. You'll get the final ebook when + 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.)

@@ -437,10 +437,10 @@ -

The KGDB option is now on by default in the devel/gdb +

The KGDB option is now on by default in the devel/gdb port.

-

The changes to support cross-debugging of crashdumps in +

Changes to support cross-debugging of crashdumps in libkvm were committed to HEAD in r291406.

A new thread target for &os; that is suitable for merging @@ -479,7 +479,7 @@ - iMX.6 video output support + iMX.6 Video Output Support @@ -521,7 +521,7 @@ - Touchscreen support for Raspberry Pi and Beaglebone Black + Touchscreen Support for Raspberry Pi and Beaglebone Black @@ -614,7 +614,7 @@ vnodes.

Vnode cache recycling was reworked to meet free and unused - vnodes targets. Free vnodes are rarely completely free; rather, + 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 @@ -631,18 +631,18 @@ 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, vnlru_proc() runs to reclaim enough vnodes + full. Otherwise, vnlru_proc() 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. E.g., 9% of 75% of MAXVNODES - is more than 566000 vnodes to reclaim whenever vnlru_proc() + large if the memory size is large. For example, 9% of 75% of MAXVNODES + is more than 566000 vnodes to reclaim whenever vnlru_proc() becomes active.

The vfs.vlru_alloc_cache_src sysctl is removed. New code frees namecache sources as the last chance to satisfy the highest watermark, instead of selecting source vnodes randomly. - This provides good enough behaviour to keep vn_fullpath() working + This provides good enough behavior to keep vn_fullpath() working in most situations. Filesystem layouts with deep trees, where the removed knob was required, is thus handled automatically.

@@ -661,14 +661,14 @@ 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 - vnode_init() and vnode_fini() functions in sys/kern/vfs_subr.c to + vnode_init() and vnode_fini() functions in sys/kern/vfs_subr.c to see the code that has been removed from the main vnode allocation/free path.

- Improvements to QLogic HBA driver + Improvements to the QLogic HBA Driver @@ -681,8 +681,8 @@ -

The QLogic HBA driver isp(4) received a - substantial set of changes. Their primary goal was to make Fibre +

The QLogic HBA driver, isp(4), 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:

@@ -727,7 +727,7 @@
- Raspberry Pi: VideoCore userland application packaging + Raspberry Pi: VideoCore Userland Application Packaging @@ -757,7 +757,7 @@ misc/raspberrypi-userland for them. He also created a port for omxplayer (a low-level video player that utilizes VideoCore APIs) and is working on a port for Kodi - (ex-XBMC), a more user-firendly media player software with + (formerly XBMC), a more user-firendly media player software with Raspberry Pi support.

@@ -786,15 +786,15 @@ It is the product of the merge between the LXDE-Qt and the Razor-qt projects.

-

The porting effort remains heavily a work in progress: it - needs some components of Plasma 5 (the new major KDE's - workspace).

+

The porting effort remains very much a work in progress: it + needs some components of Plasma 5, the new major KDE + workspace.

Currently, only the 0.10 branch is functional. See our wiki page for a complete list of applications.

-

We also sent updates for some components of LXDE (required - for the LXQt desktop):

+

We also sent updates for some components of LXDE, required + for the LXQt desktop:

Each port is up-to-date.

@@ -923,7 +923,7 @@ -

Propose a patch to upstreamto fix Xfdashboard with our +

Propose a patch to upstream to fix Xfdashboard with our version of OpenGL (it currently coredumps).

@@ -950,7 +950,7 @@

I recently became involved with &os; (as in, the last 2-3 weeks), and found myself quickly involved with Ports development. - What quickly struck me was the difficulty in providing a Python + 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 @@ -959,7 +959,7 @@

I discussed the issue with &a.koobs;, who suggested that I look into implementing a "variants protocol" within the - Ports framework and the necessary changes to poudriere in order to + Ports framework and the necessary changes to poudriere to allow a port to generate more than one package.

Support for variants is strongly needed in Ports and @@ -994,8 +994,8 @@ 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 - upsetting to find that poudriere is mostly written in Bourne shell - scripts, but press on I did nonetheless.

+ upsettling to find that poudriere is mostly written in Bourne shell + scripts, but I pressed on nonetheless.

I started with the @@ -1007,7 +1007,7 @@ changes.

This is a work in progress, and I would - love to hear your feedback. I've enjoyed my first few weeks + love to hear your feedback. I have enjoyed my first few weeks working on &os;, and I hope to stay here for quite some time.

@@ -1025,7 +1025,7 @@ - New tools to enhance the porting experience + New Tools to Enhance the Porting Experience @@ -1047,10 +1047,10 @@

When I starting working on ports for &os; 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 + 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 added to the Ports tree, or otherwise will soon be - added, so you can play with them today!

+ these have been or will soon be added to the Ports tree, + so you can play with them today!

pytoport is a command-line application that generates a skeleton port for a given PyPI package name. It @@ -1073,27 +1073,27 @@ living in git and the larger upstream SVN tree I was using in poudriere. I built a tool called bandar that takes advantage of the FUSE version of unionfs to easily overlay my dev - tree on the upstream tree, run linting, poudriere and generate + tree on the upstream tree, run linting, poudriere, and generate archives with ease.

-

I'm very impressed with how easy it was to build more +

I am very impressed with how easy it was to build more tooling for &os;. I hope some of these tools will be of some use to you, and as always, I'd love to hear your feedback!

-

Improve skog to support searching a tree for a certain +

Improve skog to support searching a tree for a certain port.

-

Get the bandar port completed.

+

Get the bandar port completed.

-

Continue to improve pytoport, adding trove support and better - depedency handling.

+

Continue to improve pytoport, adding trove support and better + dependency handling.

@@ -1118,14 +1118,14 @@

The Out of Memory (OOM) code is intended to handle the situation where the system needs free memory to make progress, - while no memory can be reused. Most often, the situation is that + 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 lose + process and recover data in other processes than to lose everything.

Free memory in the &os; Virtual Memory (VM) system appears @@ -1133,16 +1133,16 @@ 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 + 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.

-

The old criteria to trigger OOM action was a combination of - low free swap space and a low count of free pages (the later is +

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, - e.g., a low free page state might be caused by a greedy consumer + 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 @@ -1150,15 +1150,15 @@ they would appear some short time later.

More seriously, low swap space does not necessarily indicate - that we are in trouble: lots of pages may not require swap - allocations to freed, e.g., clean pages or pages backed by files. + 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.

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 if several consequtive passes failed to - meet the paging target is an OOM kill considered neccessary. The + page daemon passes. Only when several consequtive 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 @@ -1169,15 +1169,15 @@ pages mapping entries (PTEs) installed into the machine paging structures. For different reasons, 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, and the old OOM selector ignored the + 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.

-

A new function vm_pageout_oom_pagecount() was written which +

A new function, vm_pageout_oom_pagecount(), was written which applies a reasonable heuristic to estimate the number of pages - which would be freed by killing the given process. This + freed by killing the given process. This eliminates the effect of selecting small unrelated processes for OOM kill.

@@ -1205,7 +1205,7 @@ -

A new driver, cxgbei, that enables hardware +

A new driver, cxgbei, 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 @@ -1298,7 +1298,7 @@

Test the new release on different versions of &os;, Mac - OS X and Linux. In particular, testing on Mac OS X 10.9 (Mavericks) + OS X, and Linux. In particular, testing on Mac OS X 10.9 (Mavericks) and newer would be greatly appreciated.

@@ -1426,7 +1426,7 @@

GitLab is a web-based Git repository manager with many - features that is used by more than 100.000 organizations including + 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 &os; Wiki.

@@ -1437,9 +1437,9 @@ committed!

While the new version of GitLab 8.3 eases the porting, - there are big changes between the last working port of GitLab + 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

+ port in the first quarter of 2016.

@@ -1484,12 +1484,12 @@ was regularly hit by missing IPv6 support when building ports.

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 than is wait and hope that - distcache.FreeBSD.org caches the distfile. But this will take - some time, which may not be a luxury available when a piece of + 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 + distcache.FreeBSD.org 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.

Based on the research, a promotion campaign for IPv6 was @@ -1528,12 +1528,12 @@ are being worked on in our experimental repository.

As in previous quarters, we would like to thank several - people who have contributed with machines, patches and general + people who have contributed with machines, patches, and general help. Tobias Berner, &a.madpilot; (madpilot@), Adriaan de Groot, Ralf Nolden, &a.swills; (swills@), and &a.jpaetzel; (jpaetzel@) have been essential to our work.

-

The following big updates were landed in the ports tree +

The following big updates landed in the ports tree this quarter. In many cases, we have also contributed patches to the upstream projects.

@@ -1542,14 +1542,14 @@
  • Calligra 2.9.1, the latest release of the integrated work applications suite. Calligra had last been updated in the - ports tree in the end of 2013!
  • + ports tree at the end of 2013!
  • PyQt4 4.11.4, QScintilla2 2.9.1 and SIP 4.17.
  • 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, but it also allows other ports to be + long-awaited on its own, it allows other ports to be updated to their latest versions.
  • QtCreator 3.5.1 and 3.6.0.
  • @@ -1562,7 +1562,7 @@

    Work on updating the Qt5 ports to their latest version, as well as porting KDE Frameworks 5 and Plasma 5 to &os;, is well - underway in our experimental area51 repository. At the moment, it + 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.

    @@ -1580,7 +1580,7 @@ -

    Land the KDE Frameworks 5 and Plasma 5 ports to the +

    Land the KDE Frameworks 5 and Plasma 5 ports in the tree.

    @@ -1626,7 +1626,7 @@ -

    As of the end of Q4 the ports tree holds a bit more +

    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 @@ -1638,7 +1638,7 @@ reports were fixed, which makes an increase of about 20% compared to Q3.

    -

    In Q4 8 commit bits were taken in for safekeeping, +

    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 @@ -1647,7 +1647,7 @@

    Also related to the management of ports commit bits, nox's grants were revoked, since the &os; developers - learnt that Juergen Lock passed away.

    + learned that Juergen Lock had passed away.

    On the management side, no changes were made to the portmgr team during Q4.

    @@ -1656,9 +1656,9 @@ 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 WRKSRC different from WRKDIR when NO_WRKSUBDIR - is set, the removal of bsd.cpu.mk from sys.mk, and the - move of QT_NONSTANDARD to bsd.qt.mk.

    + usage of a WRKSRC different from WRKDIR when NO_WRKSUBDIR + is set, the removal of bsd.cpu.mk from sys.mk, and the + move of QT_NONSTANDARD to bsd.qt.mk.

    @@ -1706,14 +1706,14 @@ -

    This quarter, the bugmeister team has gained a new member, +

    The bugmeister team has gained a new member, Mahdi Mokhtari (mokhi64@gmail.com). Mahdi has been contributing to the &os; 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 &a.koobs; led to guidance on appropriate projects, such as Bugzilla development, helping Bugmeister, the Bugzilla Triage team, Developers, and the - Community by making issue tracking better. This is how things are + community by making issue tracking better. This is how things are going so far:

    Issue Tracking can be either "Defect Tracking for @@ -1727,8 +1727,8 @@