blob: 1c2a941989b275f329d10d9f25428e69d65958a5 (
plain) (
tree)
|
|
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="verify-v1" content="pZNmf5XyUUfAPdlSPbFSavMUsLgVsmBYOXzOhbIy2gw=" />
<link rel="stylesheet" type="text/css" href="../inc/format-doc.css"/>
<title>changes.txt</title>
</head>
<body>
<h1>LITMUS<sup>RT</sup> Change Log</h1>
<div class="preamble">
This document is part of the documentation of the <a href="../index.html">LITMUS<sup>RT</sup> project</a>.
</div>
<h2>2008.2 -> 2008.3</h2>
<ul>
<li><p>New feature: <code>sys_null_call()</code>, a dummy system call that simplifies the process
of determining system call overheads [<code>litmus/litmus.c</code>].</p></li>
<li><p>New feature: support for starting timers on remote CPUs via
<code>hrtimer_start_on()</code> [<code>kernel/hrtimer.c</code>].</p></li>
<li><p>New feature: support dedicated release handling in GSN-EDF and a
corresponding <code>/proc</code> interface [<code>litmus/rt_domain.c</code>, <code>litmus/sched_gsn_edf.c</code>,
<code>litmus/litmus.c</code>].</p></li>
<li><p>New feature: support IPI latency tracing [<code>litmus/trace.c</code>].</p></li>
<li><p>Warn if a task's priority is compared against itself [<code>litmus/edf_common.c</code>].</p></li>
<li><p>Remove duplicated code in heap_node allocation and allocate heap_node structs
from a dedicated slab [<code>litmus/litmus.c</code>].</p></li>
<li><p>Avoid memory allocation/de-allocation in the release queue handling hot-path
[<code>litmus/rt_domain.c</code>]</p></li>
<li><p>Use per-event hrtimers instead of multiplexing all future releases onto a
single timer. Linux's hrtimers are cheap enough to do this, and it removes
complexity.</p></li>
<li><p>Uninline binomial heap implementation to reduce code size [<code>litmus/heap.c</code>].</p></li>
<li><p>Assorted minor debugging improvements.</p></li>
<li><p>Minor code cleanups.</p></li>
<li><p>Bugfix: use <code>is_running()</code> in <code>litmus_schedule()</code> to test for task state change
race; otherwise plugins might get confused due to unexpected
<code>task_block()</code>/<code>wake_up()</code> calls.</p></li>
<li><p>Bugfix: avoid deadlock in <code>hrtimer_cancel()</code>; use <code>hrtimer_try_to_cancel()</code>
instead [<code>litmus/rt_domain.c</code>].</p></li>
<li><p>Bugfix: avoid race that lead to arming the same timer twice
[<code>litmus/rt_domain.c</code>].</p></li>
<li><p>Bugfix: avoid use-after-free race in <code>release_heap</code> [<code>litmus/rt_domain.c</code>].</p></li>
<li><p>Bugfix: avoid rare deadlock between timer base lock and release lock
[<code>litmus/rt_domain.c</code>].</p></li>
<li><p>Bugfix: fix compilation with <code>CONFIG_SCHED_TASK_TRACE</code> on <code>sparc64</code>
[<code>include/litmus/sched_trace.h</code>].</p></li>
<li><p>Bugfix: fix Linux execution time accounting in Litmus scheduling class so
that <code>top(1)</code> and <code>ps(1)</code> work again [<code>litmus/sched_litmus.c</code>].</p></li>
<li><p>Bugfix: make sure magic sysrq hotkeys do not collide [<code>litmus/litmus.c</code>].</p></li>
<li><p><code>liblitmus</code>: switch to <code>scons</code> build system.</p></li>
<li><p><code>liblitmus</code>: support <code>x86-64</code>-><code>i386</code> cross compilation.</p></li>
<li><p><code>liblitmus</code>: add <code>cycles</code> tools to simplify measuring of CPU cycles per
second.</p></li>
<li><p><code>liblitmus</code>: support <code>null_call()</code> system call and add <code>null_call</code> tool (for
system call overhead measurements).</p></li>
<li><p><code>liblitmus</code>: improved diagnostic output if <code>setsched</code> fails.</p></li>
<li><p><code>liblitmus</code>: support fractional costs and periods in <code>rtspin</code>.</p></li>
<li><p><code>liblitmus</code>: improve <code>release_ts</code> with <code>-w</code> (wait for all tasks) and <code>-f</code>
(wait for specified number of tasks) options.</p></li>
<li><p><code>liblitmus</code>: remove outdated tests (<code>mode_test</code>, <code>np_test</code>, and <code>wait_test</code>).</p></li>
<li><p><code>liblitmus</code>: remove <code>sched_trace</code> support. The removed code will be part of a
future standalone <code>sched_trace</code> library.</p></li>
<li><p><code>ft_tools</code>: switch to <code>scons</code> build system.</p></li>
<li><p><code>ft_tools</code>: support <code>x86-64</code>-><code>i386</code> cross compilation.</p></li>
<li><p><code>ft_tools</code>: support for IPI latency measurements (<code>SEND_RESCHED</code>).</p></li>
</ul>
<h2>Change History</h2>
<ul>
<li>Initially created by <a href="http://www.cs.unc.edu/~bbb">Bjoern B. Brandenburg</a> (bbb at cs.unc.edu) on 09/24/2009.</li>
</ul>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-3184628-1";
urchinTracker();
</script>
</body>
</html>
|