Whitespace-only fixes, translators please ignore.

This commit is contained in:
Warren Block 2016-04-18 03:18:27 +00:00
parent 6277bc7876
commit 381104455f
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48663

View file

@ -375,15 +375,25 @@
<ul> <ul>
<li>I2C</li> <li>I2C</li>
<li>HDMI output</li> <li>HDMI output</li>
<li>Basic AXP209 support (Power Management Unit)</li> <li>Basic AXP209 support (Power Management Unit)</li>
<li>Switch to upstream DTS for most boards</li> <li>Switch to upstream DTS for most boards</li>
<li>Basic Support for A31/A31S SoC</li> <li>Basic Support for A31/A31S SoC</li>
<li>RTC</li> <li>RTC</li>
<li>Proper Pinmux/GPIO support</li> <li>Proper Pinmux/GPIO support</li>
<li>Audio Codec / Audio HDMI</li> <li>Audio Codec / Audio HDMI</li>
<li>A10/A20 DMA support</li> <li>A10/A20 DMA support</li>
<li>A20 now uses the GIC (General Interrupt Controller)</li> <li>A20 now uses the GIC (General Interrupt Controller)</li>
<li>A20 now uses the ARM Generic Timer</li> <li>A20 now uses the ARM Generic Timer</li>
</ul> </ul>
@ -696,15 +706,15 @@
previous quarter, the team remained busy and work on KDE previous quarter, the team remained busy and work on KDE
Frameworks 5 and Plasma 5 continues.</p> Frameworks 5 and Plasma 5 continues.</p>
<p>Tobias Berner, who has been driving our KDE <p>Tobias Berner, who has been driving our KDE Frameworks 5 and
Frameworks 5 and Plasma 5 efforts from the beginning, received Plasma 5 efforts from the beginning, received a KDE commit
a KDE commit bit, and has been putting it to good use by bit, and has been putting it to good use by upstreaming
upstreaming FreeBSD across several KDE repositories. Another FreeBSD across several KDE repositories. Another team
team highlight in the beginning of this year is the highlight in the beginning of this year is the (re)addition of
(re)addition of another committer to our experimental another committer to our experimental repository: Adriaan de
repository: Adriaan de Groot, a longtime KDE contributor who Groot, a longtime KDE contributor who also used to work on KDE
also used to work on KDE and FreeBSD almost a decade ago when and FreeBSD almost a decade ago when our team was first
our team was first formed. Welcome back, Ade!</p> formed. Welcome back, Ade!</p>
<p>The following big updates were landed in the ports tree this <p>The following big updates were landed in the ports tree this
quarter. In many cases, we have also contributed patches to quarter. In many cases, we have also contributed patches to
@ -770,15 +780,16 @@
</contact> </contact>
<body> <body>
<p>POSIX specifies several kinds of <tt>pthread</tt> locks. For this <p>POSIX specifies several kinds of <tt>pthread</tt> locks. For
report, the private and process-shared variants are considered. this report, the private and process-shared variants are
Private locks can be used only by the threads of the same considered. Private locks can be used only by the threads of
process, which share the address space. Process-shared locks the same process, which share the address space.
can be used by threads from any process, assuming the process Process-shared locks can be used by threads from any process,
can map the lock memory into its address space.</p> assuming the process can map the lock memory into its address
space.</p>
<p>Our <tt>libthr</tt>, the library implementing the POSIX threads and <p>Our <tt>libthr</tt>, the library implementing the POSIX
locking operations, uses a pointer as the internal threads and locking operations, uses a pointer as the internal
representation behind a lock. The pointer contains the representation behind a lock. The pointer contains the
address of the actual structure carrying the lock. This has address of the actual structure carrying the lock. This has
unfortunate consequences for implementing the unfortunate consequences for implementing the
@ -787,11 +798,11 @@
distinct address spaces.</p> distinct address spaces.</p>
<p>A common opinion was that we have no choice but to break the <p>A common opinion was that we have no choice but to break the
<tt>libthr</tt> Application Binary Interface (ABI) by changing the lock <tt>libthr</tt> Application Binary Interface (ABI) by changing
types to be the actual lock structures (and padding for future the lock types to be the actual lock structures (and padding
ABI extension). This is very painful for users, as our for future ABI extension). This is very painful for users, as
previous experience with non-versioned <tt>libc</tt> and <tt>libc_r</tt> our previous experience with non-versioned <tt>libc</tt> and
has shown.</p> <tt>libc_r</tt> has shown.</p>
<p>Instead, I proposed and implemented a scheme where <p>Instead, I proposed and implemented a scheme where
process-shared locks can be implemented without breaking the process-shared locks can be implemented without breaking the
@ -799,14 +810,14 @@
hash of the shared memory objects (off-pages), which carry the hash of the shared memory objects (off-pages), which carry the
real lock structures.</p> real lock structures.</p>
<p>New <tt>umtx</tt> operations to create or look up the shared object, <p>New <tt>umtx</tt> operations to create or look up the shared
by the memory key were added. <tt>libthr</tt> is modified to look up object, by the memory key were added. <tt>libthr</tt> is
the object and use it for shared locks, instead of using modified to look up the object and use it for shared locks,
<tt>malloc()</tt> as for private locks.</p> instead of using <tt>malloc()</tt> as for private locks.</p>
<p>The pointer value in the user-visible lock type contains a <p>The pointer value in the user-visible lock type contains a
canary for shared locks. <tt>libthr</tt> detects the canary and canary for shared locks. <tt>libthr</tt> detects the canary
switches into the shared-lock mode.</p> and switches into the shared-lock mode.</p>
<p>The proposal of inlining the lock structures, besides the <p>The proposal of inlining the lock structures, besides the
drawbacks of breaking ABI, has its merits. Most important, drawbacks of breaking ABI, has its merits. Most important,
@ -820,11 +831,12 @@
existence for shared locks backed by files, however unlikely existence for shared locks backed by files, however unlikely
they may be.</p> they may be.</p>
<p><tt>libthr</tt> with inlined locks became informally known as the <tt>libthr2</tt> <p><tt>libthr</tt> with inlined locks became informally known as
project, since it is better to change the library name than just the <tt>libthr2</tt> project, since it is better to change the
bumping the library version. <tt>rtld</tt> should ensure that library name than just bumping the library version.
<tt>libthr</tt> and <tt>libthr2</tt> are not simultaneously loaded into a <tt>rtld</tt> should ensure that <tt>libthr</tt> and
single address space.</p> <tt>libthr2</tt> are not simultaneously loaded into a single
address space.</p>
</body> </body>
<sponsor>The FreeBSD Foundation</sponsor> <sponsor>The FreeBSD Foundation</sponsor>
@ -1607,7 +1619,8 @@
<body> <body>
<p>I wrote a small and straightforward yet feature-packed patch <p>I wrote a small and straightforward yet feature-packed patch
to implement ASLR for &os; which is now available for broader testing.</p> to implement ASLR for &os; which is now available for broader
testing.</p>
<p>With this change, randomization is applied to all non-fixed <p>With this change, randomization is applied to all non-fixed
mappings. By randomization I mean the base address for the mappings. By randomization I mean the base address for the
@ -1629,35 +1642,36 @@
<p>To not spoil coalescing optimizations, to reduce the page <p>To not spoil coalescing optimizations, to reduce the page
table fragmentation inherent to ASLR, and to keep the table fragmentation inherent to ASLR, and to keep the
transient superpage promotion for the <tt>malloc</tt>ed memory, the transient superpage promotion for the <tt>malloc</tt>ed
locality is implemented for anonymous private mappings, which memory, the locality is implemented for anonymous private
are automatically grouped until fragmentation kicks in. The mappings, which are automatically grouped until fragmentation
initial location for the anon group range is, of course, kicks in. The initial location for the anon group range is,
randomized. After some additional tuning, the measures of course, randomized. After some additional tuning, the
appeared to be quite effective. In particular, a very measures appeared to be quite effective. In particular, a
address-space-hungry build of PyPy 5.0 on i386 successfully very address-space-hungry build of PyPy 5.0 on i386
finished with the most aggressive functionality of the patch successfully finished with the most aggressive functionality
activated.</p> of the patch activated.</p>
<p>The default mode keeps the <tt>sbrk</tt> area unpopulated by other <p>The default mode keeps the <tt>sbrk</tt> area unpopulated by
mappings, but this can be turned off, which gives much more other mappings, but this can be turned off, which gives much
breathing bits on the small AS architectures (funny that more breathing bits on the small AS architectures (funny that
32 bits is considered small). This is tied with the question 32 bits is considered small). This is tied with the question
of following an application's hint about the <tt>mmap(2)</tt> of following an application's hint about the <tt>mmap(2)</tt>
base address. Testing shows that ignoring the hint does not base address. Testing shows that ignoring the hint does not
affect the function of common applications, but I would expect affect the function of common applications, but I would expect
more demanding code could break. By default <tt>sbrk</tt> is preserved more demanding code could break. By default <tt>sbrk</tt> is
and <tt>mmap</tt> hints are satisfied, which can be changed by using preserved and <tt>mmap</tt> hints are satisfied, which can be
the <tt>kern.elf{32,64}.aslr_care_sbrk</tt> sysctl (currently enabled changed by using the <tt>kern.elf{32,64}.aslr_care_sbrk</tt>
by default for wider testing).</p> sysctl (currently enabled by default for wider testing).</p>
<p>Stack gap, W^X, shared page randomization, KASLR and other <p>Stack gap, W^X, shared page randomization, KASLR and other
techniques are explicitly out of scope of this work.</p> techniques are explicitly out of scope of this work.</p>
<p>The <tt>paxtest</tt> results for the run with the previous version 5 <p>The <tt>paxtest</tt> results for the run with the previous
of the patch applied and aggressively tuned can be seen at version 5 of the patch applied and aggressively tuned can be
<a href="https://www.kib.kiev.ua/kib/aslr/paxtest.log"><tt>paxtest.log</tt></a>. For seen at
comparison, the run on Fedora 23 on the same machine is at <a href="https://www.kib.kiev.ua/kib/aslr/paxtest.log"><tt>paxtest.log</tt></a>.
For comparison, the run on Fedora 23 on the same machine is at
<a href="https://www.kib.kiev.ua/kib/aslr/fedora.log"><tt>fedora.log</tt></a>.</p> <a href="https://www.kib.kiev.ua/kib/aslr/fedora.log"><tt>fedora.log</tt></a>.</p>
<p>ASLR is enabled on a per-ABI basis, and currently is only <p>ASLR is enabled on a per-ABI basis, and currently is only
@ -2328,10 +2342,10 @@
<body> <body>
<p>The FreeBSD Foundation is a 501(c)(3) non-profit organization <p>The FreeBSD Foundation is a 501(c)(3) non-profit organization
dedicated to supporting and promoting the FreeBSD Project and dedicated to supporting and promoting the FreeBSD Project and
community worldwide. Funding comes from individual and community worldwide. Funding comes from individual and
corporate donations and is used to fund and manage development corporate donations and is used to fund and manage development
projects, conferences and developer summits, and provide projects, conferences and developer summits, and provide
travel grants to FreeBSD developers. The Foundation purchases travel grants to FreeBSD developers. The Foundation purchases
hardware to improve and maintain FreeBSD infrastructure and hardware to improve and maintain FreeBSD infrastructure and
publishes FreeBSD white papers and marketing material to publishes FreeBSD white papers and marketing material to
promote, educate, and advocate for the FreeBSD Project. The promote, educate, and advocate for the FreeBSD Project. The
@ -2352,13 +2366,13 @@
<p>OS Improvements</p> <p>OS Improvements</p>
<p>The Foundation improves <p>The Foundation improves FreeBSD by funding software
FreeBSD by funding software development projects approved through our proposal development projects approved through our proposal submission
submission process and our three software developer staff process and our three software developer staff members. Two
members. Two Foundation-funded projects were started last Foundation-funded projects were started last quarter, the
quarter, the first to improve stability of the vnet network first to improve stability of the vnet network stack
stack virtualization infrastructure, and the second for phase virtualization infrastructure, and the second for phase two of
two of the FreeBSD/arm64 port project.</p> the FreeBSD/arm64 port project.</p>
<p>Foundation staff members were responsible for many changes <p>Foundation staff members were responsible for many changes
over the quarter. Some notable items include process-shared over the quarter. Some notable items include process-shared
@ -2367,7 +2381,7 @@
bug fixes in the <tt>autofs</tt> automount daemon, an updated bug fixes in the <tt>autofs</tt> automount daemon, an updated
version of the ELF Tool Chain, investigation of the version of the ELF Tool Chain, investigation of the
<tt>lld</tt> linker, improved X86 hardware support, and VM <tt>lld</tt> linker, improved X86 hardware support, and VM
subsystem stability improvements. Several of these projects subsystem stability improvements. Several of these projects
are described elsewhere in this quarterly report.</p> are described elsewhere in this quarterly report.</p>
<p>Release Engineering</p> <p>Release Engineering</p>
@ -2413,20 +2427,21 @@
<a href="https://www.freebsdfoundation.org/blog/initial-freebsd-risc-v-architecture-port-committed/">the FreeBSD RISC-V</a> <a href="https://www.freebsdfoundation.org/blog/initial-freebsd-risc-v-architecture-port-committed/">the FreeBSD RISC-V</a>
work being done.</p> work being done.</p>
<p>Assistance was provided to Mellanox for their press release highlighting <p>Assistance was provided to Mellanox for their press release
highlighting
<a href="http://www.mellanox.com/page/press_release_item?id=1688">their work with NetFlix</a>.</p> <a href="http://www.mellanox.com/page/press_release_item?id=1688">their work with NetFlix</a>.</p>
<p>Conferences and Events</p> <p>Conferences and Events</p>
<p>The FreeBSD Foundation sponsors many conferences, events, and summits around the <p>The FreeBSD Foundation sponsors many conferences, events, and
globe.  These events can be BSD-related, open source, or technology summits around the globe. These events can be BSD-related,
events geared towards underrepresented groups. We provide open source, or technology events geared towards
financial support to the major BSD conferences like BSDCan, underrepresented groups. We provide financial support to the
AsiaBSDCon, and EuroBSDCon, and give financial and/or other major BSD conferences like BSDCan, AsiaBSDCon, and EuroBSDCon,
support for smaller events like BSDDays, FreeBSD Summits, and and give financial and/or other support for smaller events
FreeBSD workshops, camps, and hackathons. For open source like BSDDays, FreeBSD Summits, and FreeBSD workshops, camps,
conferences, we will attend when we can get a free non-profit and hackathons. For open source conferences, we will attend
booth.</p> when we can get a free non-profit booth.</p>
<p>The year kicked off with sending Ed Maste, Benedict <p>The year kicked off with sending Ed Maste, Benedict
Reuschling, and George Neville-Neil to promote and give talks Reuschling, and George Neville-Neil to promote and give talks
@ -2436,27 +2451,29 @@
various people about reproducible builds in FreeBSD.</p> various people about reproducible builds in FreeBSD.</p>
<p>Dru Lavigne and Deb Goodkin promoted FreeBSD at SCALE in <p>Dru Lavigne and Deb Goodkin promoted FreeBSD at SCALE in
Pasadena, California. Dru gave a presentation called "Doc Like an Pasadena, California. Dru gave a presentation called "Doc
Egyptian." We were a Gold Sponsor for AsiaBSDCon in Tokyo, and five Like an Egyptian." We were a Gold Sponsor for AsiaBSDCon in
Foundation members attended. Kirk McKusick taught a two-day Tokyo, and five Foundation members attended. Kirk McKusick
FreeBSD Kernel tutorial and gave a talk on the history taught a two-day FreeBSD Kernel tutorial and gave a talk on
of the BSD filesystem. Dru Lavigne and Benedict Reuschling the history of the BSD filesystem. Dru Lavigne and Benedict
gave a documentation tutorial. Board members Hiroki Sato and Reuschling gave a documentation tutorial. Board members
George Neville-Neil helped organize the conference. BSDnow.tv Hiroki Sato and George Neville-Neil helped organize the
interviewed Benedict at AsiaBSDCon about his role as a new conference. BSDnow.tv interviewed Benedict at AsiaBSDCon
Foundation board member and the Foundation's work.</p> about his role as a new Foundation board member and the
Foundation's work.</p>
<p>We planned and organized our first-ever FreeBSD Storage <p>We planned and organized our first-ever FreeBSD Storage
Summit in association with the USENIX FAST Summit in association with the USENIX FAST Conference. Led by
Conference. Led by our President and Founder, Justin Gibbs, our President and Founder, Justin Gibbs, we had over 50
we had over 50 attendees participating and working together on attendees participating and working together on technically
technically focused topics.  Benedict was busy promoting focused topics. Benedict was busy promoting FreeBSD in
FreeBSD in Europe, where he also attended Linuxtage in Europe, where he also attended Linuxtage in Chemnitz, Germany
Chemnitz, Germany to give a talk on FreeBSD (in German): to give a talk on FreeBSD (in German):
<a href="https://chemnitzer.linux-tage.de/2016/de/programm/beitrag/194">FreeBSD The Power to Serve a Community</a>.</p> <a href="https://chemnitzer.linux-tage.de/2016/de/programm/beitrag/194">FreeBSD The Power to Serve a Community</a>.</p>
<p>The Foundation committed to being a Gold Sponsor for BSDCan and the <p>The Foundation committed to being a Gold Sponsor for BSDCan
upcoming Hackathon/DevSummit in Essen, Germany in April.</p> and the upcoming Hackathon/DevSummit in Essen, Germany in
April.</p>
<p>Legal/FreeBSD IP</p> <p>Legal/FreeBSD IP</p>
@ -2481,17 +2498,17 @@
can recruit more women to FreeBSD and offer Intro to FreeBSD can recruit more women to FreeBSD and offer Intro to FreeBSD
workshops.</p> workshops.</p>
<p>Meetings were held with a number of commercial vendors to help facilitate <p>Meetings were held with a number of commercial vendors to
collaboration with the Project. This included presenting how help facilitate collaboration with the Project. This included
the Project is organized, and how companies can get help, presenting how the Project is organized, and how companies can
contribute back to the Project, promote their use of FreeBSD, get help, contribute back to the Project, promote their use of
and for us to get their feedback on the work we are doing to FreeBSD, and for us to get their feedback on the work we are
help with our fundraising efforts.</p> doing to help with our fundraising efforts.</p>
<p>The new Foundation website and logo was launched, signaling the ongoing <p>The new Foundation website and logo was launched, signaling
evolution of the Foundation identity and ability to better the ongoing evolution of the Foundation identity and ability
serve the FreeBSD Project and community. Find our more about to better serve the FreeBSD Project and community. Find our
our more about our
<a href="https://www.freebsdfoundation.org/blog/introducing-a-new-look-for-the-foundation/">new look</a>.</p> <a href="https://www.freebsdfoundation.org/blog/introducing-a-new-look-for-the-foundation/">new look</a>.</p>
</body> </body>
</project> </project>