svn commit: r46183 - head/en_US.ISO8859-1/htdocs/news/status
Benjamin Kaduk
bjk at FreeBSD.org
Sat Jan 10 00:52:35 UTC 2015
Author: bjk
Date: Sat Jan 10 00:52:34 2015
New Revision: 46183
URL: https://svnweb.freebsd.org/changeset/doc/46183
Log:
Add linuxulator
Heavily edited by me and may have some content errors.
Approved by: hrs (mentor, blanket)
Modified:
head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml
Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml
==============================================================================
--- head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml Sat Jan 10 00:27:22 2015 (r46182)
+++ head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml Sat Jan 10 00:52:34 2015 (r46183)
@@ -1788,4 +1788,82 @@
</help>
</project>
+ <project cat='kern'>
+ <title>Linux emulation layer a.k.a. Linuxulator</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>Dmitry</given>
+ <common>Chagin</common>
+ </name>
+ <email>dchagin at FreeBSD.org</email>
+ </person>
+ </contact>
+
+ <body>
+ <p>The main goal of the lemul project is the execution of
+ multithreaded Linux applications, which requires the glibc library
+ version 2.20 or later to be available on &os;. Glibc 2.20
+ requires a Linux kernel (or emulation thereof) of version 2.6.32
+ or later. The main obstacle preventing this is that the current
+ Linuxulator uses native FreeBSD processes for emulating Linux
+ threads. This leads to several problems, including problems with
+ process reparenting and dethreading, <tt>wait()</tt> and signal
+ handling. It would be much better to reuse the FreeBSD kernel
+ code for thread management than to create a completely new
+ codebase for pseudothread management in the Linuxulator.</p>
+
+ <p>At present, the linux emulation layer project has
+ implemented all of the necessary system calls for supporting glibc
+ 2.20, and more:</p>
+
+ <ul>
+ <li>Using native threads for emulating Linux threads</li>
+ <li>Implemented VDSO support, including DWARF for signal
+ trampolines, which are needed for stack unwinding in
+ <tt>pthread_cancel()</tt></li>
+ <li>Implemented the "vsyscall hack", used by some
+ Linux-based distributions, including CentOS 6</li>
+ <li>Implemented the <tt>epoll()</tt> system call
+ emulation</li>
+ <li>Many bugs were fixed</li>
+ </ul>
+
+ <p>The project's code is located in the FreeBSD Project's
+ Subversion repository, at <tt>base/user/dchagin/lemul</tt> (a
+ little bit old). To facilitate merging the improvements back to
+ head, several patches have been placed on reviews.FreeBSD.org with
+ the tag <tt>#lemul</tt>. Nearly half of the patches have already
+ been approved by &a.emaste; and &a.trasz;.</p>
+ </body>
+
+ <help>
+ <task>
+ <p>Review and merge the lemul branch to head within the next
+ month or two.</p>
+ </task>
+
+ <task>
+ <p>Implement native and Linuxulator <tt>inotify()</tt>
+ system calls.</p>
+ </task>
+
+ <task>
+ <p>Implement the <tt>ptrace()</tt> system call for the x86_64
+ Linuxulator.</p>
+ </task>
+
+ <task>
+ <p>Implement the <tt>signalfd()</tt> and <tt>timerfd</tt>
+ system calls for the Linuxulator.</p>
+ </task>
+
+ <task>
+ <p>Extend <tt>xucred</tt> support, which is required for
+ many Linux applications.</p>
+ </task>
+ </help>
+ </project>
+
</report>
More information about the svn-doc-all
mailing list