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