Add a umtx update/rewrite/etc idea from Attilio.

This commit is contained in:
Robert Watson 2010-03-21 16:20:58 +00:00
parent 00fb2b76c0
commit 75b2e3f68f
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=35543

View file

@ -15,7 +15,7 @@ Ideas//EN"
<ideas>
<cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0">
<cvs:keyword name="freebsd">
$FreeBSD: www/en/projects/ideas/ideas.xml,v 1.149 2010/03/20 12:11:11 rwatson Exp $
$FreeBSD: www/en/projects/ideas/ideas.xml,v 1.150 2010/03/20 12:28:24 rwatson Exp $
</cvs:keyword>
</cvs:keywords>
@ -502,6 +502,36 @@ these buses to be a subclass of this new base class.</p>
</desc>
</idea>
<idea id="umtx">
<title>Rewrite umtx - userspace mutex system calls</title>
<desc>
<p><strong>Technical contact</strong>: <a
href="mailto:attilio@FreeBSD.org">Attilio Rao</a></p>
<p>umtx is the underbelly of the FreeBSD pthreads synchronization
primitives, allowing kernel-assisted sleeping, wakeups, priority
propagation, and other features supporting efficient mutexes and
reader-writer locks in userspace. As kernel features have evolved
(such as the addition of a sleepqueue primitive), hardware
scalability has grown, and application-writer expectations have
changed, some weaknesses have come to light. In particular, there
are concerns about overhead and scalability with highly-threaded
applications. This project would profile and evaluate the existing
system call service provided by umtex, and consider cleanups,
optimizations, and the application of newer algorithms to improve
functionality and performance. The effectiveness of the rewrite
would be demonstrated through careful testing with sensitive
workloads, such as MySQL on 16-core systems.</p>
<p><strong>Requirements</strong>:</p>
<ul>
<li>Strong knowledge of C.</li>
<li>Experience with multi-threaded programming.</li>
<li>Experience with kernel programming.</li>
</ul>
</desc>
</idea>
<idea id="docsysctl">
<title>Document all sysctls</title>
<desc>