<feed xmlns='http://www.w3.org/2005/Atom'>
<title>litmus-rt.git/kernel, branch pgm</title>
<subtitle>The LITMUS^RT kernel.</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/'/>
<entry>
<title>make it compile</title>
<updated>2013-07-05T17:18:26+00:00</updated>
<author>
<name>Glenn Elliott</name>
<email>gelliott@cs.unc.edu</email>
</author>
<published>2013-07-05T17:18:26+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=b43e13d9190a165cd3a8b8e9e7221eb2a9cc73d7'/>
<id>b43e13d9190a165cd3a8b8e9e7221eb2a9cc73d7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Augment rt_task() with is_realtime()</title>
<updated>2013-06-25T07:38:26+00:00</updated>
<author>
<name>Bjoern Brandenburg</name>
<email>bbb@mpi-sws.org</email>
</author>
<published>2013-06-08T16:22:35+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=c1f183501ce70a510a4d9ab98595500904f33705'/>
<id>c1f183501ce70a510a4d9ab98595500904f33705</id>
<content type='text'>
Whenever the kernel checks for rt_task() to avoid delaying real-time
tasks, we want it to also not delay LITMUS^RT tasks.  Hence, most
calls to rt_task() should be matched by an equivalent call to
is_realtime(). This patch fixes a few places where this was missing.
Notably, this affects the impolementation of select(), which uses
timer_slack_ns when setting up timers for non-real-time tasks.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Whenever the kernel checks for rt_task() to avoid delaying real-time
tasks, we want it to also not delay LITMUS^RT tasks.  Hence, most
calls to rt_task() should be matched by an equivalent call to
is_realtime(). This patch fixes a few places where this was missing.
Notably, this affects the impolementation of select(), which uses
timer_slack_ns when setting up timers for non-real-time tasks.
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable timer slack for LITMUS^RT tasks in nanosleep()</title>
<updated>2013-06-25T07:38:19+00:00</updated>
<author>
<name>Bjoern Brandenburg</name>
<email>bbb@mpi-sws.org</email>
</author>
<published>2013-06-08T15:58:41+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=5e5d22d9724a5bc11d459c4f08d475941c2482ed'/>
<id>5e5d22d9724a5bc11d459c4f08d475941c2482ed</id>
<content type='text'>
As with SCHED_FIFO/SCHED_RR tasks, artificial latency is not
desired...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As with SCHED_FIFO/SCHED_RR tasks, artificial latency is not
desired...
</pre>
</div>
</content>
</entry>
<entry>
<title>Protect SCHED_LITMUS tasks from reschedules triggered by SCHED_FIFO enqueues.</title>
<updated>2012-12-21T12:37:14+00:00</updated>
<author>
<name>Jonathan Herman</name>
<email>hermanjl@cs.unc.edu</email>
</author>
<published>2012-12-01T19:44:37+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=c158b5fbe42dacd34393082b6b8f9f6573ab8c5c'/>
<id>c158b5fbe42dacd34393082b6b8f9f6573ab8c5c</id>
<content type='text'>
(BB: edited to include &lt;litmus/litmus.h&gt; to resolve compile error.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(BB: edited to include &lt;litmus/litmus.h&gt; to resolve compile error.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Move SCHED2 trace points to post_schedule()</title>
<updated>2012-10-18T20:14:06+00:00</updated>
<author>
<name>Bjoern Brandenburg</name>
<email>bbb@mpi-sws.org</email>
</author>
<published>2012-09-06T09:15:04+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=ce313ac8c1531c11d670fd84fe2526bbb5f32f85'/>
<id>ce313ac8c1531c11d670fd84fe2526bbb5f32f85</id>
<content type='text'>
Linux's post_schedule() scheduling class hook more closely matches
what SCHED2 is supposed to trace, namely any scheduling overhead after
the context switch. The prior trace points caught timers being armed
from finish_switch(), which is already included in the context switch
cost CXS.

(This patch essentially reverts 8fe2fb8bb1c1cd0194608bc783d0ce7029e8d869).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Linux's post_schedule() scheduling class hook more closely matches
what SCHED2 is supposed to trace, namely any scheduling overhead after
the context switch. The prior trace points caught timers being armed
from finish_switch(), which is already included in the context switch
cost CXS.

(This patch essentially reverts 8fe2fb8bb1c1cd0194608bc783d0ce7029e8d869).
</pre>
</div>
</content>
</entry>
<entry>
<title>Trace IPI-related IRQs with ft_irq_fired()</title>
<updated>2012-10-18T20:14:05+00:00</updated>
<author>
<name>Bjoern Brandenburg</name>
<email>bbb@mpi-sws.org</email>
</author>
<published>2012-09-04T10:45:54+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=a13904d4b6d04278deb6841020dd7dee9867745e'/>
<id>a13904d4b6d04278deb6841020dd7dee9867745e</id>
<content type='text'>
IPIs have some special cases where irq_enter() is not called. This
caused ft_irq_fired() to "miss" some rescheduling-related interrupts,
which in turn may cause outliers.

This patch makes sure ft_irq_fired() is called on scheduling-related
IPIs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
IPIs have some special cases where irq_enter() is not called. This
caused ft_irq_fired() to "miss" some rescheduling-related interrupts,
which in turn may cause outliers.

This patch makes sure ft_irq_fired() is called on scheduling-related
IPIs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark feather-trace buffers as "disturbed" on soft IRQs</title>
<updated>2012-10-18T20:14:04+00:00</updated>
<author>
<name>Bjoern Brandenburg</name>
<email>bbb@mpi-sws.org</email>
</author>
<published>2012-08-20T14:54:53+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=1ae3a8f858a6eb6a75a78fb8f35c98fa870dfb87'/>
<id>1ae3a8f858a6eb6a75a78fb8f35c98fa870dfb87</id>
<content type='text'>
We don't want outliers due to soft IRQs, so let them mark ongoing
traces as "dirty" as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't want outliers due to soft IRQs, so let them mark ongoing
traces as "dirty" as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove complete_n() API</title>
<updated>2012-10-18T18:29:36+00:00</updated>
<author>
<name>Bjoern Brandenburg</name>
<email>bbb@mpi-sws.org</email>
</author>
<published>2012-09-07T12:28:59+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=d245619060965c2f379fadf6103e7b69a2d1e951'/>
<id>d245619060965c2f379fadf6103e7b69a2d1e951</id>
<content type='text'>
The LITMUS^RT-specific completion API complete_n() is no longer
required by the synchronous release code. Let's remove it; one less
modification of a core Linux file to maintain during rebasing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The LITMUS^RT-specific completion API complete_n() is no longer
required by the synchronous release code. Let's remove it; one less
modification of a core Linux file to maintain during rebasing.
</pre>
</div>
</content>
</entry>
<entry>
<title>Do processor state transitions in schedule_tail().</title>
<updated>2012-09-21T16:21:05+00:00</updated>
<author>
<name>Glenn Elliott</name>
<email>gelliott@cs.unc.edu</email>
</author>
<published>2012-09-17T13:57:37+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=9434d607f4ddaf2374dafd86c20ed4336230ecfa'/>
<id>9434d607f4ddaf2374dafd86c20ed4336230ecfa</id>
<content type='text'>
Fixes a bug in Litmus where processor scheduling states
could become corrupted. Corruption can occur when a
just-forked thread is externally forced to be scheduled
by SCHED_LITMUS before this just-forked thread can complete
post-fork processing. Specifically, before schedule_tail()
has completed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes a bug in Litmus where processor scheduling states
could become corrupted. Corruption can occur when a
just-forked thread is externally forced to be scheduled
by SCHED_LITMUS before this just-forked thread can complete
post-fork processing. Specifically, before schedule_tail()
has completed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add kernel-style events for sched_trace_XXX() functions</title>
<updated>2012-03-30T13:39:33+00:00</updated>
<author>
<name>Andrea Bastoni</name>
<email>bastoni@sprg.uniroma2.it</email>
</author>
<published>2012-02-11T20:41:19+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=26bafa3b7880a323d83b8ea71bdb8e2118a5cba0'/>
<id>26bafa3b7880a323d83b8ea71bdb8e2118a5cba0</id>
<content type='text'>
Enable kernel-style events (tracepoint) for Litmus. Litmus events
trace the same functions as the sched_trace_XXX(), but can be
enabled independently.

So, why another tracing infrastructure then:
- Litmus tracepoints can be recorded and analyzed together (single
  time reference) with all other kernel tracing events (e.g.,
  sched:sched_switch, etc.). It's easier to correlate the effects
  of kernel events on litmus tasks.

- It enables a quick way to visualize and process schedule traces
  using trace-cmd utility and kernelshark visualizer.
  Kernelshark lacks unit-trace's schedule-correctness checks, but
  it enables a fast view of schedule traces and it has several
  filtering options (for all kernel events, not only Litmus').
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enable kernel-style events (tracepoint) for Litmus. Litmus events
trace the same functions as the sched_trace_XXX(), but can be
enabled independently.

So, why another tracing infrastructure then:
- Litmus tracepoints can be recorded and analyzed together (single
  time reference) with all other kernel tracing events (e.g.,
  sched:sched_switch, etc.). It's easier to correlate the effects
  of kernel events on litmus tasks.

- It enables a quick way to visualize and process schedule traces
  using trace-cmd utility and kernelshark visualizer.
  Kernelshark lacks unit-trace's schedule-correctness checks, but
  it enables a fast view of schedule traces and it has several
  filtering options (for all kernel events, not only Litmus').
</pre>
</div>
</content>
</entry>
</feed>
