Make an editing pass through the 2016Q2 report
This commit is contained in:
parent
bc7e8f3800
commit
6f23ec186d
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=49144
1 changed files with 172 additions and 160 deletions
|
@ -97,8 +97,8 @@
|
||||||
|
|
||||||
<p>The &os; Release Engineering Team completed the 10.3-RELEASE
|
<p>The &os; Release Engineering Team completed the 10.3-RELEASE
|
||||||
cycle late April, led by &a.marius;. The release was one week
|
cycle late April, led by &a.marius;. The release was one week
|
||||||
behind the original schedule, to accommodate for a few last
|
behind the original schedule, to accommodate for a few
|
||||||
minute critical issues that were essential to include in the
|
last-minute critical issues that were essential to include in the
|
||||||
final release.</p>
|
final release.</p>
|
||||||
|
|
||||||
<p>The &os; 11.0-RELEASE cycle started late May, one month
|
<p>The &os; 11.0-RELEASE cycle started late May, one month
|
||||||
|
@ -106,10 +106,10 @@
|
||||||
to accommodate for packaging the &os; base system with the
|
to accommodate for packaging the &os; base system with the
|
||||||
<tt>pkg(8)</tt> utility. However, as work on this progressed,
|
<tt>pkg(8)</tt> utility. However, as work on this progressed,
|
||||||
it became apparent that there were too many outstanding
|
it became apparent that there were too many outstanding
|
||||||
issues. As a result, packaged base will be a "beta" feature
|
issues. As a result, packaged base will be a "beta" feature
|
||||||
for 11.0-RELEASE, with the goal of promoting it to a
|
for 11.0-RELEASE, with the goal of promoting it to a
|
||||||
first-class feature in 11.1-RELEASE, with additional
|
first-class feature in 11.1-RELEASE. It is expected that
|
||||||
provisions to ensure a seamless transition for earlier
|
provisions will be made to ensure a seamless transition from older
|
||||||
supported releases.</p>
|
supported releases.</p>
|
||||||
|
|
||||||
<p>Despite the fact that packaged base is not going to be a
|
<p>Despite the fact that packaged base is not going to be a
|
||||||
|
@ -144,10 +144,10 @@
|
||||||
come to switch to 4.2.</p>
|
come to switch to 4.2.</p>
|
||||||
|
|
||||||
<p>While there is ongoing progress to remove Rails 3.2 from
|
<p>While there is ongoing progress to remove Rails 3.2 from
|
||||||
the ports tree, there are some major updates blocking this
|
the ports tree, there are some ports for which this is a major
|
||||||
process. The most recent blocker was the outstanding update
|
update that block the overall process. The most recent blocker
|
||||||
of <tt>www/redmine</tt> from 2.6 to 3.2. This has completed
|
was the outstanding update of <tt>www/redmine</tt> from 2.6 to
|
||||||
successfully, so we can now move on.</p>
|
3.2. This has completed successfully, so we can now move on.</p>
|
||||||
|
|
||||||
<p>To help with porting or testing, feel free to contact me or
|
<p>To help with porting or testing, feel free to contact me or
|
||||||
the <tt>ruby@FreeBSD.org</tt> mailing list.</p>
|
the <tt>ruby@FreeBSD.org</tt> mailing list.</p>
|
||||||
|
@ -180,26 +180,26 @@
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>Allwinner SoCs are used in multiple hobbyist devboards and
|
<p>Allwinner SoCs are used in multiple hobbyist devboards and
|
||||||
single board computers. Recently, support for these SoCs
|
single-board computers. Recently, support for these SoCs
|
||||||
received many updates.</p>
|
received many updates.</p>
|
||||||
|
|
||||||
<p>Theses tasks were completed during the second quarter of
|
<p>Theses tasks were completed during the second quarter of
|
||||||
2016:</p>
|
2016:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Switch to upstream DTS is complete</li>
|
<li>Switch to upstream DTS</li>
|
||||||
|
|
||||||
<li>A83T SoC support</li>
|
<li>A83T SoC support</li>
|
||||||
|
|
||||||
<li>H3 SoC support</li>
|
<li>H3 SoC support</li>
|
||||||
|
|
||||||
<li>Switch to new clock framework</li>
|
<li>Switch to the new clock framework</li>
|
||||||
|
|
||||||
<li>Convert A10 interrupt controller to INTRNG</li>
|
<li>Convert the A10 interrupt controller to <tt>INTRNG</tt></li>
|
||||||
|
|
||||||
<li>OHCI support</li>
|
<li>OHCI support</li>
|
||||||
|
|
||||||
<li>Generic ALLWINNER kernel config file</li>
|
<li>A generic <tt>ALLWINNER</tt> kernel config file</li>
|
||||||
|
|
||||||
<li>A20/A31 NMI support</li>
|
<li>A20/A31 NMI support</li>
|
||||||
|
|
||||||
|
@ -213,8 +213,8 @@
|
||||||
|
|
||||||
<li>A83T Security ID support</li>
|
<li>A83T Security ID support</li>
|
||||||
|
|
||||||
<li>Allwinner Gigabit Ethernet controller found in
|
<li>Support for the Allwinner Gigabit Ethernet controller found
|
||||||
H3/A83T/A64</li>
|
in H3/A83T/A64</li>
|
||||||
|
|
||||||
<li>USB OTG
|
<li>USB OTG
|
||||||
<a href="https://reviews.freebsd.org/D5881">(in review)</a></li>
|
<a href="https://reviews.freebsd.org/D5881">(in review)</a></li>
|
||||||
|
@ -267,10 +267,10 @@
|
||||||
</contact>
|
</contact>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>Now that the process-shared locks are implemented for our
|
<p>Now that process-shared locks are implemented for our
|
||||||
POSIX threads implementation library, <tt>libthr</tt>,
|
POSIX threads implementation, <tt>libthr</tt>,
|
||||||
the only major lacking feature for POSIX compliance is robust
|
the only major feature lacking for POSIX compliance is robust
|
||||||
mutexes. Robust mutexes allow the application to detect, and
|
mutexes. Robust mutexes allow applications to detect, and
|
||||||
theoretically, recover from crashes which occur while
|
theoretically, recover from crashes which occur while
|
||||||
modifying the shared state. The supported model is to protect
|
modifying the shared state. The supported model is to protect
|
||||||
shared state by a <tt>pthread_mutex</tt>, and the crash is
|
shared state by a <tt>pthread_mutex</tt>, and the crash is
|
||||||
|
@ -284,7 +284,7 @@
|
||||||
recover from failures. The <tt>pthread_mutex_lock()</tt>
|
recover from failures. The <tt>pthread_mutex_lock()</tt>
|
||||||
function may return new error <tt>EOWNERDEAD</tt>, which
|
function may return new error <tt>EOWNERDEAD</tt>, which
|
||||||
indicates that the previous owner of the lock terminated while
|
indicates that the previous owner of the lock terminated while
|
||||||
still owning the lock. Despite returning the non-zero value,
|
still owning the lock. Despite returning this non-zero value,
|
||||||
the lock is granted to the caller. In the simplest form, an
|
the lock is granted to the caller. In the simplest form, an
|
||||||
application may detect the error and refuse to operate until
|
application may detect the error and refuse to operate until
|
||||||
the persistent shared data is recovered, such as by manual
|
the persistent shared data is recovered, such as by manual
|
||||||
|
@ -299,22 +299,22 @@
|
||||||
|
|
||||||
<p>It is curious but not unexpected that this interface is not
|
<p>It is curious but not unexpected that this interface is not
|
||||||
used widely. The only real-life application which utilizes it
|
used widely. The only real-life application which utilizes it
|
||||||
is Samba. Using Samba with an updated FreeBSD base uncovered
|
is Samba. Using Samba with an updated &os; base uncovered
|
||||||
minor bugs both in the FreeBSD robustness implementation, and
|
minor bugs both in the &os; robust mutex implementation, and
|
||||||
in Samba itself.</p>
|
in Samba itself.</p>
|
||||||
|
|
||||||
<p>It is believed that <tt>libthr</tt> in FreeBSD 11 is
|
<p>It is believed that <tt>libthr</tt> in &os; 11 is
|
||||||
POSIX-compliant for large features. Further work is planned
|
POSIX-compliant for major features. Further work is planned
|
||||||
to look at the lock structures inlining to remove overhead
|
to look at inlining the lock structures to remove overhead
|
||||||
and improve performance of the library.</p>
|
and improve the performance of the library.</p>
|
||||||
|
|
||||||
<p>Most of the implementation of the robustness feature
|
<p>Most of the implementation of the robustness feature
|
||||||
consisted of making small changes in the lock and unlock
|
consisted of making small changes in the lock and unlock
|
||||||
paths, both in <tt>libthr</tt> and in <tt>kern_umtx.c</tt>.
|
paths, both in <tt>libthr</tt> and in <tt>kern_umtx.c</tt>.
|
||||||
This literally required reading all of the code dealing with
|
This literally required reading all of the code dealing with
|
||||||
mutexes and conditional variables, which was something I
|
mutexes and condition variables, which was something I
|
||||||
wanted to help future developers with. In the end, with the
|
wanted to help future developers with. In the end, with the
|
||||||
help of Ed Maste, the man pages for <tt>umtx(2)</tt> and all
|
help of Ed Maste, man pages for <tt>umtx(2)</tt> and all
|
||||||
<tt>thr*(2)</tt> syscalls were written and added to the base
|
<tt>thr*(2)</tt> syscalls were written and added to the base
|
||||||
system's documentation set.
|
system's documentation set.
|
||||||
</p>
|
</p>
|
||||||
|
@ -329,7 +329,7 @@
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
<project cat='proj'>
|
<project cat='proj'>
|
||||||
<title>EFI Refactoring, GELI Support</title>
|
<title>EFI Refactoring and GELI Support</title>
|
||||||
|
|
||||||
<contact>
|
<contact>
|
||||||
<person>
|
<person>
|
||||||
|
@ -357,16 +357,17 @@
|
||||||
too much effort.</p>
|
too much effort.</p>
|
||||||
|
|
||||||
<p>Both <tt>boot1</tt> and <tt>loader</tt> have been refactored
|
<p>Both <tt>boot1</tt> and <tt>loader</tt> have been refactored
|
||||||
to talk through the <tt>EFI_SIMPLE_FILE_SYSTEM</tt> interface.
|
to utilize the <tt>EFI_SIMPLE_FILE_SYSTEM</tt> interface.
|
||||||
In <tt>loader</tt>, this is accomplished with a dummy
|
In the loader, this is accomplished with a dummy
|
||||||
filesystem driver that is just a translation layer between the
|
filesystem driver that is just a translation layer between the
|
||||||
<tt>loader</tt> filesystem interface and
|
loader filesystem interface and
|
||||||
<tt>EFI_SIMPLE_FILE_SYSTEM</tt>. A reverse translation layer
|
<tt>EFI_SIMPLE_FILE_SYSTEM</tt>. A reverse translation layer
|
||||||
allows the existing filesystem drivers to function as EFI
|
allows the existing filesystem drivers to function as EFI
|
||||||
drivers.</p>
|
drivers.</p>
|
||||||
|
|
||||||
<p>The EFI refactoring by itself exists in
|
<p>The EFI refactoring by itself exists in a
|
||||||
<a href="https://github.com/emc2/freebsd/tree/efize">this branch</a>.</p>
|
<a href="https://github.com/emc2/freebsd/tree/efize">branch
|
||||||
|
on github</a>.</p>
|
||||||
|
|
||||||
<p>Additionally, GELI support has been added using the EFI
|
<p>Additionally, GELI support has been added using the EFI
|
||||||
refactoring. This allows booting from a GELI-encrypted
|
refactoring. This allows booting from a GELI-encrypted
|
||||||
|
@ -376,7 +377,7 @@
|
||||||
framework, which allows injection of keys directly into a
|
framework, which allows injection of keys directly into a
|
||||||
loaded kernel, without the need to pass them through
|
loaded kernel, without the need to pass them through
|
||||||
arguments or environment variables. This patch only uses the
|
arguments or environment variables. This patch only uses the
|
||||||
intake buffer for EFI GELI support as legacy BIOS GELI support
|
intake buffer for EFI GELI support, as legacy BIOS GELI support
|
||||||
still uses environment variables.</p>
|
still uses environment variables.</p>
|
||||||
|
|
||||||
<p>EFI GELI support depends on the
|
<p>EFI GELI support depends on the
|
||||||
|
@ -404,7 +405,7 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<p>Install an EFI shell on the ESP.</p>
|
<p>Install an EFI shell on the EFI System Partition (ESP).</p>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
|
@ -439,7 +440,7 @@
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<p>Try switching over to an encrypted main partition once
|
<p>Try switching over to an encrypted main partition once
|
||||||
everything else has worked.</p>
|
everything else is working.</p>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</body>
|
</body>
|
||||||
|
@ -447,9 +448,8 @@
|
||||||
<help>
|
<help>
|
||||||
<task>Testing is needed.</task>
|
<task>Testing is needed.</task>
|
||||||
|
|
||||||
<task>Code will need review and some <tt>style(9)</tt>
|
<task>The code will need review, and some <tt>style(9)</tt>
|
||||||
normalization must occur before this code goes into
|
normalization must occur before it goes into &os;.</task>
|
||||||
FreeBSD.</task>
|
|
||||||
</help>
|
</help>
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
|
@ -475,7 +475,7 @@
|
||||||
</contact>
|
</contact>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>The port has been updated to GDB 7.11.1.</p>
|
<p>The <tt>devel/gdb</tt> port has been updated to GDB 7.11.1.</p>
|
||||||
|
|
||||||
<p>Support for system call catchpoints has been committed
|
<p>Support for system call catchpoints has been committed
|
||||||
upstream. Support for examining ELF auxiliary vector data via
|
upstream. Support for examining ELF auxiliary vector data via
|
||||||
|
@ -484,12 +484,12 @@
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
<help>
|
<help>
|
||||||
<task>Figure out why the <tt>powerpc kgdb</tt> targets are not
|
<task>Figure out why the <tt>powerpc</tt> <tt>kgdb</tt> targets are not
|
||||||
able to unwind the stack past the initial frame.</task>
|
able to unwind the stack past the initial frame.</task>
|
||||||
|
|
||||||
<task>Add support for more platforms, such as <tt>arm</tt>,
|
<task>Add support for more platforms, such as <tt>arm</tt>,
|
||||||
<tt>mips</tt>, and <tt>aarch64</tt>, to upstream gdb for both
|
<tt>mips</tt>, and <tt>aarch64</tt>, to upstream <tt>gdb</tt> for both
|
||||||
userland and kgdb.</task>
|
userland and <tt>kgdb</tt>.</task>
|
||||||
|
|
||||||
<task>Add support for debugging <tt>powerpc</tt> vector
|
<task>Add support for debugging <tt>powerpc</tt> vector
|
||||||
registers.</task>
|
registers.</task>
|
||||||
|
@ -516,11 +516,11 @@
|
||||||
</contact>
|
</contact>
|
||||||
|
|
||||||
<links>
|
<links>
|
||||||
<url href="https://svnweb.freebsd.org/base/projects/vnet/">Projects workspace (all merged to head now).</url>
|
<url href="https://svnweb.freebsd.org/base/projects/vnet/">Project workspace (all merged to head now).</url>
|
||||||
</links>
|
</links>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>VIMAGE is a virtualization framework on top of FreeBSD jails
|
<p>VIMAGE is a virtualization framework on top of &os; jails
|
||||||
that was introduced to the kernel about eight years ago with
|
that was introduced to the kernel about eight years ago with
|
||||||
the <tt>vnet</tt> virtualized network stack.</p>
|
the <tt>vnet</tt> virtualized network stack.</p>
|
||||||
|
|
||||||
|
@ -533,8 +533,9 @@
|
||||||
<p>The <tt>vnet</tt> teardown has been changed to be from top to
|
<p>The <tt>vnet</tt> teardown has been changed to be from top to
|
||||||
bottom, trying to tear down layer by layer. This is
|
bottom, trying to tear down layer by layer. This is
|
||||||
preferable to removing interfaces first and then cleaning
|
preferable to removing interfaces first and then cleaning
|
||||||
everything up, as no more packets could flow. Along with this
|
everything up, as no more packets could flow once the
|
||||||
work, various parts with potential memory leaks were plugged.
|
interfaces are gone. Along with this
|
||||||
|
work, various paths with potential memory leaks were plugged.
|
||||||
Lastly, <tt>vnet</tt> support was added to formerly
|
Lastly, <tt>vnet</tt> support was added to formerly
|
||||||
unvirtualized components, such as the <tt>pf</tt> and
|
unvirtualized components, such as the <tt>pf</tt> and
|
||||||
<tt>ipfilter</tt> firewalls and some virtual interfaces.</p>
|
<tt>ipfilter</tt> firewalls and some virtual interfaces.</p>
|
||||||
|
@ -543,7 +544,7 @@
|
||||||
<sponsor>The FreeBSD Foundation</sponsor>
|
<sponsor>The FreeBSD Foundation</sponsor>
|
||||||
|
|
||||||
<help>
|
<help>
|
||||||
<task>Please test FreeBSD 11.0-ALPHA6 or later. When reporting
|
<task>Please test &os; 11.0-ALPHA6 or later. When reporting
|
||||||
a problem, use the <tt>vimage</tt> keyword in the FreeBSD bug
|
a problem, use the <tt>vimage</tt> keyword in the FreeBSD bug
|
||||||
tracker.</task>
|
tracker.</task>
|
||||||
</help>
|
</help>
|
||||||
|
@ -569,9 +570,9 @@
|
||||||
<body>
|
<body>
|
||||||
<p>Half a year ago, I started a promotion campaign to improve
|
<p>Half a year ago, I started a promotion campaign to improve
|
||||||
support for fetching ports via IPv6. Research performed in
|
support for fetching ports via IPv6. Research performed in
|
||||||
December, 2015 showed that 10,308 of 25,522 ports are not
|
December 2015 showed that 10,308 of 25,522 ports were not
|
||||||
fetchable when using IPv6-only as these ports ignore the <a
|
fetchable when using IPv6-only, as these ports ignore the <a
|
||||||
href="distcache.freebsd.org">FreeBSD.org pkg mirror</a>.</p>
|
href="distcache.freebsd.org">FreeBSD.org <tt>pkg</tt> mirror</a>.</p>
|
||||||
|
|
||||||
<p>As a result of the campaign, the following servers now
|
<p>As a result of the campaign, the following servers now
|
||||||
successfully support IPv6:</p>
|
successfully support IPv6:</p>
|
||||||
|
@ -590,7 +591,7 @@
|
||||||
|
|
||||||
<p>This enables 711 more ports to be fetched via IPv6.</p>
|
<p>This enables 711 more ports to be fetched via IPv6.</p>
|
||||||
|
|
||||||
<p>I would like to thank Wolfgang Zenker who is very active in
|
<p>I would like to thank Wolfgang Zenker, who is very active in
|
||||||
supporting the adoption of IPv6. During the latest RIPE
|
supporting the adoption of IPv6. During the latest RIPE
|
||||||
meeting, he brought up the topic of non-support of IPv6
|
meeting, he brought up the topic of non-support of IPv6
|
||||||
being a hindrance to business. I am hopeful that his talk
|
being a hindrance to business. I am hopeful that his talk
|
||||||
|
@ -637,15 +638,15 @@
|
||||||
</contact>
|
</contact>
|
||||||
|
|
||||||
<links>
|
<links>
|
||||||
<url href="https://wiki.freebsd.org/HyperV">FreeBSD Virtual Machines on Microsoft Hyper-V</url>
|
<url href="https://wiki.freebsd.org/HyperV">&os; Virtual Machines on Microsoft Hyper-V</url>
|
||||||
<url href="https://technet.microsoft.com/en-us/library/dn531030.aspx">Supported Linux and FreeBSD virtual machines for Hyper-V on Windows</url>
|
<url href="https://technet.microsoft.com/en-us/library/dn531030.aspx">Supported Linux and &os; virtual machines for Hyper-V on Windows</url>
|
||||||
</links>
|
</links>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>During BSDCan 2016, Microsoft <a
|
<p>During BSDCan 2016, Microsoft <a
|
||||||
href="https://azure.microsoft.com/en-us/blog/freebsd-now-available-in-azure-marketplace/">announced</a>
|
href="https://azure.microsoft.com/en-us/blog/freebsd-now-available-in-azure-marketplace/">announced</a>
|
||||||
the global availability of FreeBSD 10.3 images in Azure.
|
the global availability of &os; 10.3 images in Azure.
|
||||||
There are many FreeBSD-based Azure virtual appliances in the
|
There are many &os;-based Azure virtual appliances in the
|
||||||
Azure Marketplace, including Citrix Systems' NetScaler and
|
Azure Marketplace, including Citrix Systems' NetScaler and
|
||||||
Netgate's pfSense. Microsoft also made an in-depth technical
|
Netgate's pfSense. Microsoft also made an in-depth technical
|
||||||
presentation to introduce how the performance of the Hyper-V
|
presentation to introduce how the performance of the Hyper-V
|
||||||
|
@ -659,11 +660,11 @@
|
||||||
performance of Hyper-V network and storage device drivers.
|
performance of Hyper-V network and storage device drivers.
|
||||||
Work is ongoing to replace the internal data structure in the
|
Work is ongoing to replace the internal data structure in the
|
||||||
LRO kernel API from a singly-linked list to a double-linked
|
LRO kernel API from a singly-linked list to a double-linked
|
||||||
list, to speed up the LRO lookup by hash table, and to compare
|
list, to speed up the LRO lookup by hash table, and to evaluate
|
||||||
the performance with <tt>tcp_lro_queue_mbuf()</tt>.</p>
|
the performance with <tt>tcp_lro_queue_mbuf()</tt>.</p>
|
||||||
|
|
||||||
<p>The handling of SCSI inquiry in the Hyper-V storage driver is
|
<p>The handling of SCSI inquiry in the Hyper-V storage driver is
|
||||||
enhanced to make sure disk hotplug and <tt>smartctl(8)</tt>
|
enhanced to make sure that disk hotplug and <tt>smartctl(8)</tt>
|
||||||
work reliably. Refer to <a
|
work reliably. Refer to <a
|
||||||
href="https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210425">PR 210425</a>
|
href="https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210425">PR 210425</a>
|
||||||
and <a
|
and <a
|
||||||
|
@ -698,11 +699,11 @@
|
||||||
<url href="http://ceph.com">Ceph main site</url>
|
<url href="http://ceph.com">Ceph main site</url>
|
||||||
<url href="https://github.com/ceph/ceph">Main repository</url>
|
<url href="https://github.com/ceph/ceph">Main repository</url>
|
||||||
<url href="https://github.com/wjwithagen/ceph">My Fork </url>
|
<url href="https://github.com/wjwithagen/ceph">My Fork </url>
|
||||||
<url href="https://github.com/ceph/ceph/pull/7573">The git PULL with all changes</url>
|
<url href="https://github.com/ceph/ceph/pull/7573">Pull request with &os;-specific changes to Ceph</url>
|
||||||
</links>
|
</links>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>Ceph is a distributed object store and file system designed
|
<p>Ceph is a distributed object store and filesystem designed
|
||||||
to provide excellent performance, reliability, and
|
to provide excellent performance, reliability, and
|
||||||
scalability. It provides the following features:</p>
|
scalability. It provides the following features:</p>
|
||||||
|
|
||||||
|
@ -716,38 +717,38 @@
|
||||||
access to block device images that are striped and
|
access to block device images that are striped and
|
||||||
replicated across the entire storage cluster.</li>
|
replicated across the entire storage cluster.</li>
|
||||||
|
|
||||||
<li>File System: Ceph provides a POSIX-compliant network file
|
<li>File System: Ceph provides a POSIX-compliant network
|
||||||
system that aims for high performance, large data storage,
|
filesystem that aims for high performance, large data storage,
|
||||||
and maximum compatibility with legacy applications.</li>
|
and maximum compatibility with legacy applications.</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<p>I started looking into Ceph as using HAST with CARP and
|
<p>I started looking into Ceph because using HAST with CARP and
|
||||||
<tt>ggate</tt> did not meet my requirements. My primary goal
|
<tt>ggate</tt> did not meet my requirements. My primary goal
|
||||||
with Ceph is to run a storage cluster of ZFS storage nodes
|
with Ceph is to run a storage cluster of ZFS storage nodes
|
||||||
where the clients run bhyve on RBD disks stored in Ceph.</p>
|
where the clients run <tt>bhyve</tt> on RBD disks stored in Ceph.</p>
|
||||||
|
|
||||||
<p>The &os; build process can build most of the tools in
|
<p>The &os; build process can build most of the tools in
|
||||||
Ceph. However, the RBD-dependent items do not work since
|
Ceph. However, the RBD-dependent items do not work, since
|
||||||
&os; does not yet provide RBD support.</p>
|
&os; does not yet provide RBD support.</p>
|
||||||
|
|
||||||
<p>Since the last quarterly report, the following progress was
|
<p>Since the last quarterly report, the following progress was
|
||||||
made:</p>
|
made:</p>
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
<li>The changeover from using CMake to Automake results in a
|
<li>Switching to using CMake from Automake results in a
|
||||||
much cleaner development environment and better test output.
|
much cleaner development environment and better test output.
|
||||||
The changes can be found in the
|
The changes can be found in the
|
||||||
<tt>wip-wjw-freebsd-cmake</tt> branch.</li>
|
<tt>wip-wjw-freebsd-cmake</tt> branch.</li>
|
||||||
|
|
||||||
<li>Throttling code has been overhauled to prevent live locks.
|
<li>The throttling code has been overhauled to prevent live locks.
|
||||||
These mainly occur on &os; but also manifest on Linux.</li>
|
These mainly occur on &os; but also manifest on Linux.</li>
|
||||||
|
|
||||||
<li>Fixed a few more tests. On one occasion, I was able to
|
<li>A few more tests were fixed. On one occasion, I was able to
|
||||||
complete the full test set without errors.</li>
|
complete the full test suite without errors.</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<p>11-CURRENT is used to compile and build test Ceph. The
|
<p>11-CURRENT is used to compile and build test Ceph. The
|
||||||
Clang toolset needs to be at least version 3.7 as Clang 3.4
|
Clang toolset needs to be at least version 3.7, as Clang 3.4
|
||||||
does not have all of the capabilities required to compile
|
does not have all of the capabilities required to compile
|
||||||
everything.</p>
|
everything.</p>
|
||||||
|
|
||||||
|
@ -755,7 +756,7 @@
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<p>Install <tt>bash</tt> and link it in <tt>/bin</tt>
|
<p>Install <tt>bash</tt> and link to it in <tt>/bin</tt>
|
||||||
(requires root privileges):</p>
|
(requires root privileges):</p>
|
||||||
|
|
||||||
<p><tt>sudo pkg install bash</tt></p>
|
<p><tt>sudo pkg install bash</tt></p>
|
||||||
|
@ -787,33 +788,33 @@
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>RBD: Rados Block Devices are currently implemented in the
|
<li>RBD: Rados Block Devices are currently implemented in the
|
||||||
Linux kernel but there used to be a userspace
|
Linux kernel, but there used to be a userspace
|
||||||
implementation. It is possible that <tt>ggated</tt> could
|
implementation. It is possible that <tt>ggated</tt> could
|
||||||
be used as a template since it provides some of the same
|
be used as a template, since it provides some of the same
|
||||||
functionality and it has a userspace counterpart.</li>
|
functionality and it has a userspace counterpart.</li>
|
||||||
|
|
||||||
<li>BlueStore: &os; and Linux have a different AIO API which
|
<li>BlueStore: &os; and Linux have a different AIO API which
|
||||||
needs to be made compatible. There has been some
|
needs to be bridged. There has been some
|
||||||
discussion about <tt>aio_cancel</tt> not working for all
|
discussion about <tt>aio_cancel</tt> not working for all
|
||||||
device types in &os;.</li>
|
device types in &os;.</li>
|
||||||
|
|
||||||
<li>CephFS: Cython tries to access an internal field in dirent
|
<li>CephFS: Cython tries to access an internal field in
|
||||||
which does not compile.</li>
|
<tt> struct dirent</tt>, which fails to compile.</li>
|
||||||
|
|
||||||
<li>Tests that verify the correct working of the above are
|
<li>Tests that verify the correct functionality of these are
|
||||||
also excluded from the testset.</li>
|
also excluded from the test suite.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>Tests Not Yet Included:</p>
|
<p>Tests Not Yet Included:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><tt>ceph-detect-init/run-tox.sh</tt>: the current
|
<li><tt>ceph-detect-init/run-tox.sh</tt>: the current
|
||||||
implementation does not know anything about &os;
|
implementation does not know anything about &os;'s
|
||||||
<tt>rc-init</tt>.</li>
|
<tt>rc</tt> system.</li>
|
||||||
|
|
||||||
<li>Tests that make use of <tt>nosestests</tt> do not really
|
<li>Tests that make use of <tt>nosetests</tt> do not really
|
||||||
work since <tt>nostests</tt> is not in <tt>/usr/bin</tt>,
|
work since <tt>nosetests</tt> is not in <tt>/usr/bin</tt>,
|
||||||
and calling <tt>/usr/bin/env/nosetests</tt> does not work on
|
and calling <tt>/usr/bin/env nosetests</tt> does not work on
|
||||||
&os;.</li>
|
&os;.</li>
|
||||||
|
|
||||||
<li><tt>test/pybind/test_ceph_argparse.py</tt></li>
|
<li><tt>test/pybind/test_ceph_argparse.py</tt></li>
|
||||||
|
@ -823,13 +824,13 @@
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
<help>
|
<help>
|
||||||
<task>The current and foremost task it to get the test set to
|
<task>The current and foremost task it to get the test suite to
|
||||||
complete without errors.</task>
|
complete without errors.</task>
|
||||||
|
|
||||||
<task>Build an automated test platform that will build
|
<task>Build an automated test platform that will build
|
||||||
<tt>ceph/master</tt> on &os; and report the results back to
|
<tt>ceph/master</tt> on &os; and report the results back to
|
||||||
the Ceph developers. This will increase the maintainability
|
the Ceph developers. This will increase the maintainability
|
||||||
of the &os; side of things as developers are signaled that
|
of the &os; side of things, as developers are signaled that
|
||||||
they are using Linux-isms that will not compile or run on
|
they are using Linux-isms that will not compile or run on
|
||||||
&os;. Ceph has several projects that support this: Jenkins,
|
&os;. Ceph has several projects that support this: Jenkins,
|
||||||
teuthology, and palpito. But even a
|
teuthology, and palpito. But even a
|
||||||
|
@ -845,7 +846,7 @@
|
||||||
Device).</task>
|
Device).</task>
|
||||||
|
|
||||||
<task>Investigate if an in-kernel RBD device could be developed
|
<task>Investigate if an in-kernel RBD device could be developed
|
||||||
ala <tt>ggate</tt>.</task>
|
akin to <tt>ggate</tt>.</task>
|
||||||
|
|
||||||
<task>Investigate the keystore which currently prevents the
|
<task>Investigate the keystore which currently prevents the
|
||||||
building of Cephfs and some other parts.</task>
|
building of Cephfs and some other parts.</task>
|
||||||
|
@ -890,7 +891,7 @@
|
||||||
&os;, which is quite a commendation.</p>
|
&os;, which is quite a commendation.</p>
|
||||||
|
|
||||||
<p>Current work aims to fix the open problems, get the latest
|
<p>Current work aims to fix the open problems, get the latest
|
||||||
major version into the port, and create the documentation for
|
major version into the port, and create documentation for
|
||||||
the update progress.</p>
|
the update progress.</p>
|
||||||
</body>
|
</body>
|
||||||
</project>
|
</project>
|
||||||
|
@ -931,107 +932,117 @@
|
||||||
<p><tt>proccontrol -m (trace|aslr) [-q] [-s (enable|disable)]
|
<p><tt>proccontrol -m (trace|aslr) [-q] [-s (enable|disable)]
|
||||||
[-p pid | command]</tt></p>
|
[-p pid | command]</tt></p>
|
||||||
|
|
||||||
<p><tt>-m</tt> (specifies trace mode to control debugger
|
<p>with possible arguments</p>
|
||||||
|
|
||||||
|
<p><tt>-m</tt> (specifies the trace mode to control debugger
|
||||||
attachments)</p>
|
attachments)</p>
|
||||||
|
|
||||||
<p><tt>-q</tt> (queries the state of the specified mode for the
|
<p><tt>-q</tt> (queries the state of the specified mode for the
|
||||||
process with the PID specified by <tt>-p</tt> option)</p>
|
process with the PID specified by the <tt>-p</tt> option)</p>
|
||||||
|
|
||||||
<p><tt>-e</tt> (toggles the feature on or off for the given
|
<p><tt>-e</tt> (toggles the feature on or off for the given
|
||||||
process or itself)</p>
|
process or itself)</p>
|
||||||
|
|
||||||
<p>If the command is specified, it inherits the applied
|
<p>If a command is specified, it inherits the applied
|
||||||
settings from <tt>proccontrol</tt>. For instance, to start a
|
settings from <tt>proccontrol</tt>. For instance, to start a
|
||||||
build of a program with ASLR disabled, use
|
build of a program with ASLR disabled, use
|
||||||
<tt>proccontrol -m aslr -s disable make</tt>.</p>
|
<tt>proccontrol -m aslr -s disable make</tt>.</p>
|
||||||
|
|
||||||
<p>The ports exp run was done with ASLR tuned up to the most
|
<p>A ports exp-run was done with ASLR tuned up to the most
|
||||||
aggressive settings. The results can be found in <a
|
aggressive settings. The results can be found in <a
|
||||||
href="https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208580">PR 208580</a>.</p>
|
href="https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208580">PR 208580</a>.</p>
|
||||||
|
|
||||||
|
<p>Case study: Lisp</p>
|
||||||
|
|
||||||
<p>SBCL is an interesting case which illustrates several points.
|
<p>SBCL is an interesting case which illustrates several points.
|
||||||
It is much smaller than JDK, and its build system is easier to
|
It is much smaller than JDK, and its build system is easier to
|
||||||
work with. The code provides a very non C-ish language
|
work with. The code provides a very non C-like language
|
||||||
runtime which utilizes a lot of corner cases and non-standard
|
runtime which utilizes a lot of corner cases and makes non-standard
|
||||||
uses of VM, at least from the point of view of a typical C
|
uses of the VM system, at least from the point of view of a typical C
|
||||||
programmer.</p>
|
programmer.</p>
|
||||||
|
|
||||||
<p>SBCL compiles Lisp forms into the machine native code and
|
<p>SBCL compiles Lisp forms into the machine native code and
|
||||||
manages its own arena for objects. The precompiled Lisp
|
manages its own arena for objects. The precompiled Lisp
|
||||||
runtime is mapped from the <tt>core</tt> file. SBCL relies on
|
runtime is mapped from a <tt>core</tt> file. SBCL relies on
|
||||||
the operating system's C runtime for the initial load of Lisp,
|
the operating system's C runtime for the initial load of Lisp,
|
||||||
and needs a functional <tt>libc</tt> to issue many system
|
and needs a functional <tt>libc</tt> to issue many system
|
||||||
calls, including syscalls, as well as the dynamic loader. The
|
calls, including syscalls, as well as the dynamic loader. The
|
||||||
end result is that there are unfixed <tt>mmap(2)</tt> calls
|
end result is that there are unfixed <tt>mmap(2)</tt> calls
|
||||||
during both startup and runtime, interfering with the
|
during both startup and runtime, interfering with other
|
||||||
<tt>MAP_FIXED mmaps</tt>. The core file loading and arenas
|
<tt>MAP_FIXED mmaps</tt>. The loading of the core file
|
||||||
are hard-coded to exist at fixed addresses.</p>
|
and the private arenas are hard-coded to exist at fixed
|
||||||
|
addresses.</p>
|
||||||
|
|
||||||
<p>This happens to work on the default address map, which is not
|
<p>This happens to work on the default address map, which is not
|
||||||
changed often, so the SBCL choices of the base addresses
|
changed often, so the SBCL choices of the base addresses
|
||||||
evolved to work. But any significant distortion of the
|
evolved to work. But any significant distortion of the
|
||||||
standard map results in <tt>SBCL mmap(MAP_FIXED)</tt> requests
|
standard map results in <tt>SBCL mmap(MAP_FIXED)</tt> requests
|
||||||
to override memory from other allocators.</p>
|
attempting to override memory from other allocators.</p>
|
||||||
|
|
||||||
<p>&os; uses the <tt>MAP_EXCL</tt> flag to <tt>mmap(2)</tt>,
|
<p>&os; uses the <tt>MAP_EXCL</tt> flag to <tt>mmap(2)</tt>,
|
||||||
which must be used in <tt>MAP_FIXED|MAP_EXCL</tt> form to
|
which must be used in the <tt>MAP_FIXED|MAP_EXCL</tt> form to
|
||||||
cause <tt>mmap(2)</tt> failure if the requested range is
|
cause <tt>mmap(2)</tt> to fail if the requested range is
|
||||||
already used. I tried to force <tt>MAP_FIXED</tt> requests
|
already used. I tried to force <tt>MAP_FIXED</tt> requests
|
||||||
from SBCL to implicitely set <tt>MAP_EXCL</tt>, but this did
|
from SBCL to implicitly set <tt>MAP_EXCL</tt>, but this did
|
||||||
not go well since SBCL sometimes pre-allocates regions for
|
not go well since SBCL sometimes pre-allocates regions for
|
||||||
later use with <tt>MAP_FIXED</tt>. So, <tt>MAP_EXCL</tt>
|
later use with <tt>MAP_FIXED</tt>. So, <tt>MAP_EXCL</tt>
|
||||||
mappings failed, dumping the process into <tt>ldb</tt>.</p>
|
mappings failed, dumping the process into <tt>ldb</tt>.</p>
|
||||||
|
|
||||||
<p>On Linux, if a kernel is detected in AS-randomization mode,
|
<p>On Linux, if it is detected that the kernel is in AS-randomization mode,
|
||||||
the initial SBCL runtime sets personality to non-random and
|
the initial SBCL runtime sets its personality to non-random and
|
||||||
re-execs. This might be a solution for &os; as well, after
|
re-execs. This might be a solution for &os; as well, after
|
||||||
the ASLR patch is committed, so that the <tt>procctl(2)</tt>
|
the ASLR patch is committed, so that the <tt>procctl(2)</tt>
|
||||||
knob is officially available.</p>
|
knob is officially available.</p>
|
||||||
|
|
||||||
<p>SBCL still has issues on Linux, even with re-exec, when
|
<p>SBCL still has issues on Linux, even with re-exec, when
|
||||||
more aggressive randomization from PaX patch is applied, as
|
more aggressive randomization from the PaX patch is applied, as
|
||||||
seen in <a
|
seen in <a
|
||||||
href="https://bugs.launchpad.net/sbcl/+bug/1523213">bug
|
href="https://bugs.launchpad.net/sbcl/+bug/1523213">bug
|
||||||
1523213</a>.</p>
|
1523213</a>.</p>
|
||||||
|
|
||||||
|
<p>Case study: Emacs</p>
|
||||||
|
|
||||||
<p>The Emacs build procedure involves loading the
|
<p>The Emacs build procedure involves loading the
|
||||||
<tt>temacs</tt> image with the compiled Emacs Lisp files and
|
<tt>temacs</tt> image with the compiled Emacs Lisp files and
|
||||||
then dumping the memory to recreate the image with the
|
then dumping its memory to create an image with the content
|
||||||
preloaded content, in order to shrink the start time.</p>
|
preloaded, in order to reduce startup time.</p>
|
||||||
|
|
||||||
<p>Recent Emacs sources seem to generally avoid
|
<p>Recent Emacs sources seem to generally avoid
|
||||||
<tt>MAP_FIXED</tt>, except in some situations. When Emacs
|
<tt>MAP_FIXED</tt>, except in some situations. When Emacs
|
||||||
does use the flag, it carefully checks that the selected
|
does use the flag, it carefully checks that the selected
|
||||||
region is not busy. In fact, Emacs would benefit from
|
region is not busy. In fact, Emacs would benefit from using
|
||||||
<tt>MAP_EXCL</tt>.</p>
|
<tt>MAP_EXCL</tt>.</p>
|
||||||
|
|
||||||
<p>I tried several runs of building Emacs and running the dumped
|
<p>I tried several runs of building Emacs and running the dumped
|
||||||
binary, but was not able to reproduce the issue. It seems
|
binary, but was not able to reproduce any issues. It seems
|
||||||
that the code improved enough to tolerate ASLR both in Linux
|
that the code improved enough to tolerate ASLR both in Linux
|
||||||
and NetBSD without turning it off.</p>
|
and NetBSD without turning it off.</p>
|
||||||
|
|
||||||
<p>In my opinion, it is not reasonable to fight the issues in
|
<p>In my opinion, it is not reasonable to fight the issues in
|
||||||
the kernel as most of it is not fixable from the kernel side.
|
the kernel as most of it is not fixable from the kernel side.
|
||||||
The <tt>procctl(2)</tt> interface and <tt>proccontrol(1)</tt>
|
The <tt>procctl(2)</tt> interface and <tt>proccontrol(1)</tt>
|
||||||
utilities provide the override when needed, but are not
|
utilities provide an override when needed, but are not
|
||||||
automated.</p>
|
automated.</p>
|
||||||
|
|
||||||
|
<p>Conclusions</p>
|
||||||
|
|
||||||
<p>The set of ports which cannot be built with ASLR turned on
|
<p>The set of ports which cannot be built with ASLR turned on
|
||||||
should be limited but fluid. However, exp-runs may not
|
should be limited but fluid. However, exp-runs may not
|
||||||
reliably uncover all problems due to randomization, as seen in
|
reliably uncover all problems due to randomization, as seen in
|
||||||
the Emacs example. In the route to enable ASLR by default in
|
the Emacs example. In the route to enable ASLR by default (with
|
||||||
non-aggressive settings, the ports framework should provide an
|
non-aggressive settings), the ports framework should provide an
|
||||||
option like <tt>ASLR_UNSAFE=yes</tt> which spawns
|
option like <tt>ASLR_UNSAFE=yes</tt> which spawns
|
||||||
<tt>proccontrol -m aslr -s disable make</tt> for the build
|
<tt>proccontrol -m aslr -s disable make</tt> for the build
|
||||||
stages of the unsafe port. Users would still need to be aware
|
stages of the unsafe port. Users would still need to be aware
|
||||||
of <tt>proccontrol(1)</tt> in order to run the resulting
|
of <tt>proccontrol(1)</tt> in order to run the resulting
|
||||||
binary.</p>
|
binary or wrapper scripts provided to do so.</p>
|
||||||
|
|
||||||
<p>A recommended approach is a flag in the ELF binary to mark
|
<p>A recommended approach is a flag in the ELF binary to mark
|
||||||
it as not compatible with non-standard AS layouts. This frees
|
it as not compatible with non-standard AS layouts. This frees
|
||||||
users from having to use <tt>proccontrol(1)</tt>, but still
|
users from having to use <tt>proccontrol(1)</tt>, but still
|
||||||
requires patching and upstreaming. This approach is also
|
requires patching the application's build process and
|
||||||
useful outside the context of ASLR. However, the
|
upstreaming the changes. This approach is also
|
||||||
|
useful outside the context of ASLR. However, that
|
||||||
mechanism is not yet ready, and developing it is a larger work
|
mechanism is not yet ready, and developing it is a larger work
|
||||||
than ASLR itself.</p>
|
than ASLR itself.</p>
|
||||||
</body>
|
</body>
|
||||||
|
@ -1062,7 +1073,7 @@
|
||||||
<url href="http://wiki.FreeBSD.org/Graphics">Graphics Stack Roadmap and Supported Hardware Matrix</url>
|
<url href="http://wiki.FreeBSD.org/Graphics">Graphics Stack Roadmap and Supported Hardware Matrix</url>
|
||||||
<url href="https://github.com/FreeBSD/freebsd-ports-graphics">Ports Development Repository</url>
|
<url href="https://github.com/FreeBSD/freebsd-ports-graphics">Ports Development Repository</url>
|
||||||
<url href="https://github.com/FreeBSDDesktop/freebsd-base-graphics/tree/drm-next-4.6">DRM 4.6 Development Repository</url>
|
<url href="https://github.com/FreeBSDDesktop/freebsd-base-graphics/tree/drm-next-4.6">DRM 4.6 Development Repository</url>
|
||||||
<url href="https://wiki.freebsd.org/SummerOfCodeIdeas#Devices_management:_link_.2Fdev_entries_to_sysctl_nodes">GSoC 2016: link /dev entries to sysctl nodes</url>
|
<url href="https://wiki.freebsd.org/SummerOfCodeIdeas#Devices_management:_link_.2Fdev_entries_to_sysctl_nodes">GSoC 2016: link <tt>/dev</tt> entries to sysctl nodes</url>
|
||||||
<url href="https://wiki.freebsd.org/SummerOfCode2016/RethinkLibdevq">GSoC 2016: Redesign libdevq </url>
|
<url href="https://wiki.freebsd.org/SummerOfCode2016/RethinkLibdevq">GSoC 2016: Redesign libdevq </url>
|
||||||
<url href="http://planet.freebsd.org/graphics">Graphics Team Blog</url>
|
<url href="http://planet.freebsd.org/graphics">Graphics Team Blog</url>
|
||||||
</links>
|
</links>
|
||||||
|
@ -1075,7 +1086,8 @@
|
||||||
<p>The GSoC project about being able to connect a <tt>/dev</tt>
|
<p>The GSoC project about being able to connect a <tt>/dev</tt>
|
||||||
entry to <tt>sysctl</tt> nodes is making progress. After some
|
entry to <tt>sysctl</tt> nodes is making progress. After some
|
||||||
fruitful discussons on the <a
|
fruitful discussons on the <a
|
||||||
href="https://lists.freebsd.org/mailman/listinfo/freebsd-arch">freebsd-arch@ mailing-list</a>,
|
href="https://lists.freebsd.org/mailman/listinfo/freebsd-arch">freebsd-arch@
|
||||||
|
mailing-list</a>,
|
||||||
Kiloreux finished the design and is now implementing the
|
Kiloreux finished the design and is now implementing the
|
||||||
solution. The GSoC project on <tt>libdevq</tt> was
|
solution. The GSoC project on <tt>libdevq</tt> was
|
||||||
abandoned.</p>
|
abandoned.</p>
|
||||||
|
@ -1090,7 +1102,7 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li>There are instances of visual artifacts that appear with
|
<li>There are instances of visual artifacts that appear with
|
||||||
varying frequency, depending on workload. Of particular
|
varying frequency, depending on workload. Of particular
|
||||||
note is lack of redraw when a Qt5 window is partially
|
note is the lack of redraw when a Qt5 window is partially
|
||||||
covered by a menu and then uncovered.</li>
|
covered by a menu and then uncovered.</li>
|
||||||
|
|
||||||
<li>WebGL demos will sometimes fail due to a recoverable
|
<li>WebGL demos will sometimes fail due to a recoverable
|
||||||
|
@ -1104,11 +1116,11 @@
|
||||||
issues, along with others, by updating Linux support to the
|
issues, along with others, by updating Linux support to the
|
||||||
point where the Intel GPU Tools work on &os;.</p>
|
point where the Intel GPU Tools work on &os;.</p>
|
||||||
|
|
||||||
<p>The Radeon AMD/ATI has been updated to GCN 1.0. This has
|
<p>The Radeon AMD/ATI driver has been updated to GCN 1.0. This has
|
||||||
only been tested on an R7 240. 2D-accelerated X works. Due
|
only been tested on an R7 240. 2D-accelerated X works. Due
|
||||||
to apparent issues with user library support, X does not
|
to apparent issues with user library support, X does not
|
||||||
recognize the KMS driver as being 3D-capable and reports it as
|
recognize the KMS driver as being 3D-capable and reports it as
|
||||||
"not DRI2 capable". The OpenCL benchmark <tt>clpeak</tt>
|
"not DRI2 capable". The OpenCL benchmark <tt>clpeak</tt>
|
||||||
fails in <tt>drm/ttm</tt>, so there may in fact be issues in
|
fails in <tt>drm/ttm</tt>, so there may in fact be issues in
|
||||||
the underlying 3D support.</p>
|
the underlying 3D support.</p>
|
||||||
|
|
||||||
|
@ -1215,10 +1227,10 @@
|
||||||
href="https://wiki.freebsd.org/IRC/Cloaks">IRC
|
href="https://wiki.freebsd.org/IRC/Cloaks">IRC
|
||||||
Cloaks</a>.</li>
|
Cloaks</a>.</li>
|
||||||
|
|
||||||
<li>Obtain a report on all nicknames and accounts with
|
<li>Obtained a report on all nicknames and accounts with
|
||||||
existing <tt>freebsd/*</tt> user cloaks.</li>
|
existing <tt>freebsd/*</tt> user cloaks.</li>
|
||||||
|
|
||||||
<li>Liaise with freenode staff on upcoming changes to freebsd
|
<li>Liaised with freenode staff on upcoming changes to freebsd
|
||||||
channels.</li>
|
channels.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
@ -1432,7 +1444,7 @@
|
||||||
<p>Another of Core's important functions is to ensure good
|
<p>Another of Core's important functions is to ensure good
|
||||||
relations amongst developers. To that end, members of Core
|
relations amongst developers. To that end, members of Core
|
||||||
provided oversight over the backing-out of disputed
|
provided oversight over the backing-out of disputed
|
||||||
<tt>blacklistd</tt> related patches to OpenSSH, and acted to
|
<tt>blacklistd</tt>-related patches to OpenSSH, and acted to
|
||||||
smooth over ruffled tempers.</p>
|
smooth over ruffled tempers.</p>
|
||||||
|
|
||||||
<p>This quarter saw the usual quota of gentle reminders to avoid
|
<p>This quarter saw the usual quota of gentle reminders to avoid
|
||||||
|
@ -1503,7 +1515,7 @@
|
||||||
</contact>
|
</contact>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>Since the Triage Team was introduced in the October-December
|
<p>Since the Triage Team was introduced in the October–December
|
||||||
2015 report, it has been working on the following three major
|
2015 report, it has been working on the following three major
|
||||||
aspects of issue triage:</p>
|
aspects of issue triage:</p>
|
||||||
|
|
||||||
|
@ -1520,13 +1532,13 @@
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>Our efforts have almost exclusively focused on issues in the
|
<p>Our efforts have almost exclusively focused on issues in the
|
||||||
"Ports & Packages" component as that is the easiest
|
"Ports & Packages" component as that is the easiest
|
||||||
starting point. Other categories like "Base System" require
|
starting point. Other categories like "Base System" require
|
||||||
more knowledge and experience with problem content and
|
more knowledge and experience with problem content and
|
||||||
workflow.</p>
|
workflow.</p>
|
||||||
|
|
||||||
<p>During this time, Rodrigo was inactive due to lack of
|
<p>During this time, Rodrigo was inactive due to lack of
|
||||||
available time and Vladimir was unable to commit enough time
|
available time, and Vladimir was unable to commit enough time
|
||||||
during the first quarter of the year, but provided active
|
during the first quarter of the year, but provided active
|
||||||
contribution during the second. It became obvious that the
|
contribution during the second. It became obvious that the
|
||||||
Issue Triage Team must concentrate on additional recruitment
|
Issue Triage Team must concentrate on additional recruitment
|
||||||
|
@ -1537,17 +1549,17 @@
|
||||||
Wiki page. A summary of those issues is given here:</p>
|
Wiki page. A summary of those issues is given here:</p>
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
<li>Issue triage, defined as "ensure an issue is summarized,
|
<li>Issue triage, defined as "ensure that an issue is summarized,
|
||||||
classified, and assigned to appropriate people", is too time
|
classified, and assigned to appropriate people", is too time
|
||||||
consuming. Bugzilla automation through auto-assign helps,
|
consuming. Bugzilla automation through auto-assign helps,
|
||||||
but is insufficient. If the triage process is extended to
|
but is insufficient. If the triage process is extended to
|
||||||
include "track the issue through its entire life to
|
include "track the issue through its entire life to
|
||||||
resolution", the time and effort required grows
|
resolution", the time and effort required grows
|
||||||
exponentially. Fortunately, there are many things the
|
exponentially. Fortunately, there are many things the
|
||||||
community can do, with minimum effort, that help greatly.
|
community can do, with minimum effort, that help greatly.
|
||||||
Part of the recruitment and education process is educating
|
Part of the recruitment and education process is educating
|
||||||
users on how to properly treat their own issues and issues
|
users on how to properly treat their own issues and issues
|
||||||
they interact with in order to maximize the efficiency of
|
they interact with, in order to maximize the efficiency of
|
||||||
issue tracking and problem resolution.</li>
|
issue tracking and problem resolution.</li>
|
||||||
|
|
||||||
<li>Various timeouts are inadequate. For example, the
|
<li>Various timeouts are inadequate. For example, the
|
||||||
|
@ -1577,13 +1589,13 @@
|
||||||
track and quickly find issue categories and, more
|
track and quickly find issue categories and, more
|
||||||
importantly, their <strong>states</strong>. Another example
|
importantly, their <strong>states</strong>. Another example
|
||||||
is ensuring that various flags and keywords are unambiguous
|
is ensuring that various flags and keywords are unambiguous
|
||||||
and well understood. For instance, "patch" and
|
and well understood. For instance, "patch" and
|
||||||
"patch-ready", can often be misunderstood or
|
"patch-ready", can often be misunderstood or
|
||||||
misapplied.</li>
|
misapplied.</li>
|
||||||
|
|
||||||
<li>Issue statistics are lacking and for the next quarter we
|
<li>Issue statistics are lacking, and for the next quarter we
|
||||||
intend to change that. Statistics help to provide insight
|
intend to change that. Statistics help to provide insight
|
||||||
into potential bottlenecks and inform the priority of
|
into potential bottlenecks and inform the prioritization of
|
||||||
improvements to the issue tracker and workflows.</li>
|
improvements to the issue tracker and workflows.</li>
|
||||||
</ol>
|
</ol>
|
||||||
</body>
|
</body>
|
||||||
|
@ -1705,7 +1717,8 @@
|
||||||
the idea is that building the same binary, software package,
|
the idea is that building the same binary, software package,
|
||||||
document, or other binary artifact twice from the same source
|
document, or other binary artifact twice from the same source
|
||||||
produces identical output. The <a
|
produces identical output. The <a
|
||||||
href="https://reproducible-builds.org/">reproducible-builds.org website</a>
|
href="https://reproducible-builds.org/">reproducible-builds.org
|
||||||
|
website</a>
|
||||||
provides background information and documentation on making
|
provides background information and documentation on making
|
||||||
builds reproducible.</p>
|
builds reproducible.</p>
|
||||||
|
|
||||||
|
@ -1724,7 +1737,7 @@
|
||||||
Ed investigated the state of build reproducibility
|
Ed investigated the state of build reproducibility
|
||||||
in the ports tree, and presented
|
in the ports tree, and presented
|
||||||
<i>Reproducible Builds in &os;</i> at BSDCan 2016. With
|
<i>Reproducible Builds in &os;</i> at BSDCan 2016. With
|
||||||
some work in progress patches, over 80% of the &os; ports tree
|
some work-in-progress patches, over 80% of the &os; ports tree
|
||||||
builds reproducibly.</p>
|
builds reproducibly.</p>
|
||||||
|
|
||||||
<p>The Diffoscope tool performs in-depth comparison of files,
|
<p>The Diffoscope tool performs in-depth comparison of files,
|
||||||
|
@ -1795,11 +1808,11 @@
|
||||||
<li>Qt Creator was updated to 3.4.0, 3.5.0, 3.5.1, 3.6.0,
|
<li>Qt Creator was updated to 3.4.0, 3.5.0, 3.5.1, 3.6.0,
|
||||||
4.0.0, 4.0.1, and 4.0.2.</li>
|
4.0.0, 4.0.1, and 4.0.2.</li>
|
||||||
|
|
||||||
<li>Added the new port <tt>misc/qt5-examples</tt> for the
|
<li>A new port <tt>misc/qt5-examples</tt> was added for the
|
||||||
project examples provided by Qt. This makes Qt Creator more
|
project examples provided by Qt. This makes Qt Creator more
|
||||||
functional.</li>
|
functional.</li>
|
||||||
|
|
||||||
<li>Added the new port <tt>misc/qt5-doc</tt> for Qt's API
|
<li>A new port <tt>misc/qt5-doc</tt> was added for Qt's API
|
||||||
documentation, used by Qt Creator and other programs.</li>
|
documentation, used by Qt Creator and other programs.</li>
|
||||||
|
|
||||||
<li>The base KDE4 ports were updated to 4.14.10.</li>
|
<li>The base KDE4 ports were updated to 4.14.10.</li>
|
||||||
|
@ -1831,7 +1844,6 @@
|
||||||
<given>René</given>
|
<given>René</given>
|
||||||
<common>Ladan</common>
|
<common>Ladan</common>
|
||||||
</name>
|
</name>
|
||||||
|
|
||||||
<email>portmgr-secretary@FreeBSD.org</email>
|
<email>portmgr-secretary@FreeBSD.org</email>
|
||||||
</person>
|
</person>
|
||||||
|
|
||||||
|
@ -1869,7 +1881,7 @@
|
||||||
made.</p>
|
made.</p>
|
||||||
|
|
||||||
<p>A lot of work was done on modernizing the infrastructure of
|
<p>A lot of work was done on modernizing the infrastructure of
|
||||||
the Ports Tree, by introducing 6 new <tt>USES</tt>, one new
|
the Ports Tree, by introducing 6 new <tt>USES</tt> knobs, one new
|
||||||
keyword, and splitting out the larger targets of
|
keyword, and splitting out the larger targets of
|
||||||
<tt>bsd.port.mk</tt> into separate scripts. There were a
|
<tt>bsd.port.mk</tt> into separate scripts. There were a
|
||||||
total of 42 exp-runs to validate these and other
|
total of 42 exp-runs to validate these and other
|
||||||
|
@ -1927,7 +1939,7 @@
|
||||||
integrate with <tt>intrng</tt>.</p>
|
integrate with <tt>intrng</tt>.</p>
|
||||||
|
|
||||||
<p>Busdma was updated to handle the cache. The updated code
|
<p>Busdma was updated to handle the cache. The updated code
|
||||||
assumes the device is non-coherent by default, unless the
|
assumes that devices are non-coherent by default, unless the
|
||||||
device driver marks the DMA tag as coherent when creating it.
|
device driver marks the DMA tag as coherent when creating it.
|
||||||
The generic and ThunderX PCIe drivers have been updated to
|
The generic and ThunderX PCIe drivers have been updated to
|
||||||
create coherent mappings when the device tree marks the
|
create coherent mappings when the device tree marks the
|
||||||
|
@ -1935,37 +1947,37 @@
|
||||||
the sync operation where it was missing memory barriers.</p>
|
the sync operation where it was missing memory barriers.</p>
|
||||||
|
|
||||||
<p>A number of issues with <tt>hwpmc</tt> have been fixed. This
|
<p>A number of issues with <tt>hwpmc</tt> have been fixed. This
|
||||||
improves the stability of <tt>hwpmc</tt> on <tt>arm64</tt>
|
improves the stability of <tt>hwpmc</tt> on <tt>arm64</tt>,
|
||||||
with no known software issues. There is a single known issue
|
with no known software issues. There is a single known issue
|
||||||
which seems to be hardware-related, however further testing is
|
which seems to be hardware-related, however, further testing is
|
||||||
required.</p>
|
required.</p>
|
||||||
|
|
||||||
<p><tt>NEW_PCIB</tt> has been enabled on <tt>arm64</tt>. This
|
<p><tt>NEW_PCIB</tt> has been enabled on <tt>arm64</tt>. This
|
||||||
includes handling the <tt>PCI_RES_BUS</tt> resource type.</p>
|
includes handling the <tt>PCI_RES_BUS</tt> resource type.</p>
|
||||||
|
|
||||||
<p>Old interfaces replaced before 11 have been removed from the
|
<p>Old interfaces replaced before &os;-11 have been removed from the
|
||||||
<tt>arm64</tt> kernel and libraries. This includes support
|
<tt>arm64</tt> kernel and libraries. This includes support
|
||||||
for compatibility with <tt>libc</tt> from releases prior to
|
for compatibility with <tt>libc</tt> from releases prior to
|
||||||
11. The <tt>brk</tt> and <tt>sbrk</tt> functions have also
|
11.0. The <tt>brk</tt> and <tt>sbrk</tt> functions have also
|
||||||
been removed. This allows a workaround for these functions in
|
been removed. This allows a workaround for these functions in
|
||||||
the <tt>arm64</tt> C runtime to be removed.</p>
|
the <tt>arm64</tt> C runtime to be removed.</p>
|
||||||
|
|
||||||
<p><tt>loader.efi</tt> has been updated to use an event timer to
|
<p><tt>loader.efi</tt> has been updated to use an event timer to
|
||||||
implement its internal time function. This is needed as many
|
implement its internal time function. This is needed, as many
|
||||||
UEFI implementations do not handle The <tt>GetTime</tt>
|
UEFI implementations do not handle the <tt>GetTime</tt>
|
||||||
runtime service method. This means <tt>loader.efi</tt> will
|
runtime service method. This means that <tt>loader.efi</tt> will
|
||||||
now correctly count down before automatically booting.</p>
|
now correctly count down before automatically booting.</p>
|
||||||
|
|
||||||
<p>Initial support for the ARM Juno reference platform has been
|
<p>Initial support for the ARM Juno reference platform has been
|
||||||
added. This hardware is common within ARM, and has been
|
added. This hardware is common within ARM, and has been
|
||||||
useful for finding assumptions on cpuids. Booting on the Juno
|
useful for finding assumptions on cpuids. Booting on the Juno
|
||||||
required fixing the kernel to remove the assumption it is
|
required fixing the kernel to remove the assumption that it is
|
||||||
booting from CPU zero. This included assigning cpuids and
|
booting from CPU zero. This included assigning cpuids and
|
||||||
fixing assumptions within the <tt>GICv2</tt> driver that the
|
fixing assumptions within the <tt>GICv2</tt> driver that the
|
||||||
cpuid is the same as the <tt>GIC</tt> cpuid. &os; can now
|
cpuid is the same as the <tt>GIC</tt> cpuid. &os; can now
|
||||||
boot on the 4 Cortex-A53 CPUs. Further investigation is
|
boot on the 4 Cortex-A53 CPUs of the Juno board.
|
||||||
needed to track down why the boot fails when the 2 Cortex-A57
|
Further investigation is needed to track down why the boot
|
||||||
CPUs are enabled.</p>
|
fails when the 2 Cortex-A57 CPUs are enabled.</p>
|
||||||
|
|
||||||
<p>Initial work has started on booting &os; on the Pine64 and
|
<p>Initial work has started on booting &os; on the Pine64 and
|
||||||
Raspberry Pi 3 boards. Both can boot to multiuser mode with
|
Raspberry Pi 3 boards. Both can boot to multiuser mode with
|
||||||
|
|
Loading…
Reference in a new issue