<feed xmlns='http://www.w3.org/2005/Atom'>
<title>litmus-rt.git/kernel, branch wip-nested-locking</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>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>
<entry>
<title>Prevent Linux to send IPI and queue tasks on remote CPUs.</title>
<updated>2011-08-27T14:29:47+00:00</updated>
<author>
<name>Andrea Bastoni</name>
<email>bastoni@cs.unc.edu</email>
</author>
<published>2011-08-24T15:32:21+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=fb8d6602af1cbc09115544056b872b976c6349c3'/>
<id>fb8d6602af1cbc09115544056b872b976c6349c3</id>
<content type='text'>
Whether to send IPIs and enqueue tasks on remote runqueues is
plugin-specific. The recent ttwu_queue() mechanism (by calling
ttwu_queue_remote()) interferes with Litmus plugin decisions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Whether to send IPIs and enqueue tasks on remote runqueues is
plugin-specific. The recent ttwu_queue() mechanism (by calling
ttwu_queue_remote()) interferes with Litmus plugin decisions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge 'Linux v3.0' into Litmus</title>
<updated>2011-08-27T14:06:11+00:00</updated>
<author>
<name>Andrea Bastoni</name>
<email>bastoni@cs.unc.edu</email>
</author>
<published>2011-08-27T13:43:54+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=7b1bb388bc879ffcc6c69b567816d5c354afe42b'/>
<id>7b1bb388bc879ffcc6c69b567816d5c354afe42b</id>
<content type='text'>
Some notes:
* Litmus^RT scheduling class is the topmost scheduling class
  (above stop_sched_class).
* scheduler_ipi() function (e.g., in smp_reschedule_interrupt())
  may increase IPI latencies.
* Added path into schedule() to quickly re-evaluate scheduling
  decision without becoming preemptive again. This used to be
  a standard path before the removal of BKL.

Conflicts:
	Makefile
	arch/arm/kernel/calls.S
	arch/arm/kernel/smp.c
	arch/x86/include/asm/unistd_32.h
	arch/x86/kernel/smp.c
	arch/x86/kernel/syscall_table_32.S
	include/linux/hrtimer.h
	kernel/printk.c
	kernel/sched.c
	kernel/sched_fair.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some notes:
* Litmus^RT scheduling class is the topmost scheduling class
  (above stop_sched_class).
* scheduler_ipi() function (e.g., in smp_reschedule_interrupt())
  may increase IPI latencies.
* Added path into schedule() to quickly re-evaluate scheduling
  decision without becoming preemptive again. This used to be
  a standard path before the removal of BKL.

Conflicts:
	Makefile
	arch/arm/kernel/calls.S
	arch/arm/kernel/smp.c
	arch/x86/include/asm/unistd_32.h
	arch/x86/kernel/smp.c
	arch/x86/kernel/syscall_table_32.S
	include/linux/hrtimer.h
	kernel/printk.c
	kernel/sched.c
	kernel/sched_fair.c
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2011-07-20T22:56:25+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-07-20T22:56:25+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=cf6ace16a3cd8b728fb0afa68368fd40bbeae19f'/>
<id>cf6ace16a3cd8b728fb0afa68368fd40bbeae19f</id>
<content type='text'>
* 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  signal: align __lock_task_sighand() irq disabling and RCU
  softirq,rcu: Inform RCU of irq_exit() activity
  sched: Add irq_{enter,exit}() to scheduler_ipi()
  rcu: protect __rcu_read_unlock() against scheduler-using irq handlers
  rcu: Streamline code produced by __rcu_read_unlock()
  rcu: Fix RCU_BOOST race handling current-&gt;rcu_read_unlock_special
  rcu: decrease rcu_report_exp_rnp coupling with scheduler
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  signal: align __lock_task_sighand() irq disabling and RCU
  softirq,rcu: Inform RCU of irq_exit() activity
  sched: Add irq_{enter,exit}() to scheduler_ipi()
  rcu: protect __rcu_read_unlock() against scheduler-using irq handlers
  rcu: Streamline code produced by __rcu_read_unlock()
  rcu: Fix RCU_BOOST race handling current-&gt;rcu_read_unlock_special
  rcu: decrease rcu_report_exp_rnp coupling with scheduler
</pre>
</div>
</content>
</entry>
</feed>
