diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/changes.html | 84 | ||||
-rw-r--r-- | doc/changes.txt | 95 |
2 files changed, 179 insertions, 0 deletions
diff --git a/doc/changes.html b/doc/changes.html new file mode 100644 index 0000000..1c2a941 --- /dev/null +++ b/doc/changes.html | |||
@@ -0,0 +1,84 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" ?> | ||
2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | ||
3 | <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> | ||
4 | <head> | ||
5 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> | ||
6 | <meta name="verify-v1" content="pZNmf5XyUUfAPdlSPbFSavMUsLgVsmBYOXzOhbIy2gw=" /> | ||
7 | <link rel="stylesheet" type="text/css" href="../inc/format-doc.css"/> | ||
8 | <title>changes.txt</title> | ||
9 | </head> | ||
10 | <body> | ||
11 | <h1>LITMUS<sup>RT</sup> Change Log</h1> | ||
12 | |||
13 | <div class="preamble"> | ||
14 | This document is part of the documentation of the <a href="../index.html">LITMUS<sup>RT</sup> project</a>. | ||
15 | </div> | ||
16 | |||
17 | <h2>2008.2 -> 2008.3</h2> | ||
18 | |||
19 | <ul> | ||
20 | <li><p>New feature: <code>sys_null_call()</code>, a dummy system call that simplifies the process | ||
21 | of determining system call overheads [<code>litmus/litmus.c</code>].</p></li> | ||
22 | <li><p>New feature: support for starting timers on remote CPUs via | ||
23 | <code>hrtimer_start_on()</code> [<code>kernel/hrtimer.c</code>].</p></li> | ||
24 | <li><p>New feature: support dedicated release handling in GSN-EDF and a | ||
25 | corresponding <code>/proc</code> interface [<code>litmus/rt_domain.c</code>, <code>litmus/sched_gsn_edf.c</code>, | ||
26 | <code>litmus/litmus.c</code>].</p></li> | ||
27 | <li><p>New feature: support IPI latency tracing [<code>litmus/trace.c</code>].</p></li> | ||
28 | <li><p>Warn if a task's priority is compared against itself [<code>litmus/edf_common.c</code>].</p></li> | ||
29 | <li><p>Remove duplicated code in heap_node allocation and allocate heap_node structs | ||
30 | from a dedicated slab [<code>litmus/litmus.c</code>].</p></li> | ||
31 | <li><p>Avoid memory allocation/de-allocation in the release queue handling hot-path | ||
32 | [<code>litmus/rt_domain.c</code>]</p></li> | ||
33 | <li><p>Use per-event hrtimers instead of multiplexing all future releases onto a | ||
34 | single timer. Linux's hrtimers are cheap enough to do this, and it removes | ||
35 | complexity.</p></li> | ||
36 | <li><p>Uninline binomial heap implementation to reduce code size [<code>litmus/heap.c</code>].</p></li> | ||
37 | <li><p>Assorted minor debugging improvements.</p></li> | ||
38 | <li><p>Minor code cleanups.</p></li> | ||
39 | <li><p>Bugfix: use <code>is_running()</code> in <code>litmus_schedule()</code> to test for task state change | ||
40 | race; otherwise plugins might get confused due to unexpected | ||
41 | <code>task_block()</code>/<code>wake_up()</code> calls.</p></li> | ||
42 | <li><p>Bugfix: avoid deadlock in <code>hrtimer_cancel()</code>; use <code>hrtimer_try_to_cancel()</code> | ||
43 | instead [<code>litmus/rt_domain.c</code>].</p></li> | ||
44 | <li><p>Bugfix: avoid race that lead to arming the same timer twice | ||
45 | [<code>litmus/rt_domain.c</code>].</p></li> | ||
46 | <li><p>Bugfix: avoid use-after-free race in <code>release_heap</code> [<code>litmus/rt_domain.c</code>].</p></li> | ||
47 | <li><p>Bugfix: avoid rare deadlock between timer base lock and release lock | ||
48 | [<code>litmus/rt_domain.c</code>].</p></li> | ||
49 | <li><p>Bugfix: fix compilation with <code>CONFIG_SCHED_TASK_TRACE</code> on <code>sparc64</code> | ||
50 | [<code>include/litmus/sched_trace.h</code>].</p></li> | ||
51 | <li><p>Bugfix: fix Linux execution time accounting in Litmus scheduling class so | ||
52 | that <code>top(1)</code> and <code>ps(1)</code> work again [<code>litmus/sched_litmus.c</code>].</p></li> | ||
53 | <li><p>Bugfix: make sure magic sysrq hotkeys do not collide [<code>litmus/litmus.c</code>].</p></li> | ||
54 | <li><p><code>liblitmus</code>: switch to <code>scons</code> build system.</p></li> | ||
55 | <li><p><code>liblitmus</code>: support <code>x86-64</code>-><code>i386</code> cross compilation.</p></li> | ||
56 | <li><p><code>liblitmus</code>: add <code>cycles</code> tools to simplify measuring of CPU cycles per | ||
57 | second.</p></li> | ||
58 | <li><p><code>liblitmus</code>: support <code>null_call()</code> system call and add <code>null_call</code> tool (for | ||
59 | system call overhead measurements).</p></li> | ||
60 | <li><p><code>liblitmus</code>: improved diagnostic output if <code>setsched</code> fails.</p></li> | ||
61 | <li><p><code>liblitmus</code>: support fractional costs and periods in <code>rtspin</code>.</p></li> | ||
62 | <li><p><code>liblitmus</code>: improve <code>release_ts</code> with <code>-w</code> (wait for all tasks) and <code>-f</code> | ||
63 | (wait for specified number of tasks) options.</p></li> | ||
64 | <li><p><code>liblitmus</code>: remove outdated tests (<code>mode_test</code>, <code>np_test</code>, and <code>wait_test</code>).</p></li> | ||
65 | <li><p><code>liblitmus</code>: remove <code>sched_trace</code> support. The removed code will be part of a | ||
66 | future standalone <code>sched_trace</code> library.</p></li> | ||
67 | <li><p><code>ft_tools</code>: switch to <code>scons</code> build system.</p></li> | ||
68 | <li><p><code>ft_tools</code>: support <code>x86-64</code>-><code>i386</code> cross compilation.</p></li> | ||
69 | <li><p><code>ft_tools</code>: support for IPI latency measurements (<code>SEND_RESCHED</code>).</p></li> | ||
70 | </ul> | ||
71 | |||
72 | <h2>Change History</h2> | ||
73 | |||
74 | <ul> | ||
75 | <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> | ||
76 | </ul> | ||
77 | <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> | ||
78 | </script> | ||
79 | <script type="text/javascript"> | ||
80 | _uacct = "UA-3184628-1"; | ||
81 | urchinTracker(); | ||
82 | </script> | ||
83 | </body> | ||
84 | </html> | ||
diff --git a/doc/changes.txt b/doc/changes.txt new file mode 100644 index 0000000..2b40e90 --- /dev/null +++ b/doc/changes.txt | |||
@@ -0,0 +1,95 @@ | |||
1 | LITMUS<sup>RT</sup> Change Log | ||
2 | ============================== | ||
3 | |||
4 | <div class="preamble"> | ||
5 | This document is part of the documentation of the <a href="../index.html">LITMUS<sup>RT</sup> project</a>. | ||
6 | </div> | ||
7 | |||
8 | 2008.2 -> 2008.3 | ||
9 | ---------------- | ||
10 | |||
11 | - New feature: `sys_null_call()`, a dummy system call that simplifies the process | ||
12 | of determining system call overheads [`litmus/litmus.c`]. | ||
13 | |||
14 | - New feature: support for starting timers on remote CPUs via | ||
15 | `hrtimer_start_on()` [`kernel/hrtimer.c`]. | ||
16 | |||
17 | - New feature: support dedicated release handling in GSN-EDF and a | ||
18 | corresponding `/proc` interface [`litmus/rt_domain.c`, `litmus/sched_gsn_edf.c`, | ||
19 | `litmus/litmus.c`]. | ||
20 | |||
21 | - New feature: support IPI latency tracing [`litmus/trace.c`]. | ||
22 | |||
23 | - Warn if a task's priority is compared against itself [`litmus/edf_common.c`]. | ||
24 | |||
25 | - Remove duplicated code in heap_node allocation and allocate heap_node structs | ||
26 | from a dedicated slab [`litmus/litmus.c`]. | ||
27 | |||
28 | - Avoid memory allocation/de-allocation in the release queue handling hot-path | ||
29 | [`litmus/rt_domain.c`] | ||
30 | |||
31 | - Use per-event hrtimers instead of multiplexing all future releases onto a | ||
32 | single timer. Linux's hrtimers are cheap enough to do this, and it removes | ||
33 | complexity. | ||
34 | |||
35 | - Uninline binomial heap implementation to reduce code size [`litmus/heap.c`]. | ||
36 | |||
37 | - Assorted minor debugging improvements. | ||
38 | |||
39 | - Minor code cleanups. | ||
40 | |||
41 | - Bugfix: use `is_running()` in `litmus_schedule()` to test for task state change | ||
42 | race; otherwise plugins might get confused due to unexpected | ||
43 | `task_block()`/`wake_up()` calls. | ||
44 | |||
45 | - Bugfix: avoid deadlock in `hrtimer_cancel()`; use `hrtimer_try_to_cancel()` | ||
46 | instead [`litmus/rt_domain.c`]. | ||
47 | |||
48 | - Bugfix: avoid race that lead to arming the same timer twice | ||
49 | [`litmus/rt_domain.c`]. | ||
50 | |||
51 | - Bugfix: avoid use-after-free race in `release_heap` [`litmus/rt_domain.c`]. | ||
52 | |||
53 | - Bugfix: avoid rare deadlock between timer base lock and release lock | ||
54 | [`litmus/rt_domain.c`]. | ||
55 | |||
56 | - Bugfix: fix compilation with `CONFIG_SCHED_TASK_TRACE` on `sparc64` | ||
57 | [`include/litmus/sched_trace.h`]. | ||
58 | |||
59 | - Bugfix: fix Linux execution time accounting in Litmus scheduling class so | ||
60 | that `top(1)` and `ps(1)` work again [`litmus/sched_litmus.c`]. | ||
61 | |||
62 | - Bugfix: make sure magic sysrq hotkeys do not collide [`litmus/litmus.c`]. | ||
63 | |||
64 | - `liblitmus`: switch to `scons` build system. | ||
65 | |||
66 | - `liblitmus`: support `x86-64`->`i386` cross compilation. | ||
67 | |||
68 | - `liblitmus`: add `cycles` tools to simplify measuring of CPU cycles per | ||
69 | second. | ||
70 | |||
71 | - `liblitmus`: support `null_call()` system call and add `null_call` tool (for | ||
72 | system call overhead measurements). | ||
73 | |||
74 | - `liblitmus`: improved diagnostic output if `setsched` fails. | ||
75 | |||
76 | - `liblitmus`: support fractional costs and periods in `rtspin`. | ||
77 | |||
78 | - `liblitmus`: improve `release_ts` with `-w` (wait for all tasks) and `-f` | ||
79 | (wait for specified number of tasks) options. | ||
80 | |||
81 | - `liblitmus`: remove outdated tests (`mode_test`, `np_test`, and `wait_test`). | ||
82 | |||
83 | - `liblitmus`: remove `sched_trace` support. The removed code will be part of a | ||
84 | future standalone `sched_trace` library. | ||
85 | |||
86 | - `ft_tools`: switch to `scons` build system. | ||
87 | |||
88 | - `ft_tools`: support `x86-64`->`i386` cross compilation. | ||
89 | |||
90 | - `ft_tools`: support for IPI latency measurements (`SEND_RESCHED`). | ||
91 | |||
92 | |||
93 | Change History | ||
94 | -------------- | ||
95 | - Initially created by <a href="http://www.cs.unc.edu/~bbb">Bjoern B. Brandenburg</a> (bbb at cs.unc.edu) on 09/24/2009. | ||