[LITMUS^RT] new patches and new branch
Björn Brandenburg
bbb at mpi-sws.org
Tue Jun 25 09:54:12 CEST 2013
Hi everyone,
a quick heads-up: I've merged four patches into staging (see below). Some of them stem from our OSPERT project and fix latency issues when measuring latencies with cyclictest.
Further, there's a new branch called 'rebased-3.0'.
https://github.com/LITMUS-RT/litmus-rt/commits/rebased-3.0
This branch contains the same features / patches as staging, but has been rebased cleanly on top of v3.0 (based on an earlier patch series by Felipe). This is the first step towards porting LITMUS^RT to a new kernel version, and eventually to PREEMPT_RT. Please check it out if you have some time.
Thanks,
Björn
commit c1f183501ce70a510a4d9ab98595500904f33705
Author: Bjoern Brandenburg <bbb at mpi-sws.org>
Date: Sat Jun 8 18:22:35 2013 +0200
Augment rt_task() with is_realtime()
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.
commit 5e5d22d9724a5bc11d459c4f08d475941c2482ed
Author: Bjoern Brandenburg <bbb at mpi-sws.org>
Date: Sat Jun 8 17:58:41 2013 +0200
Disable timer slack for LITMUS^RT tasks in nanosleep()
As with SCHED_FIFO/SCHED_RR tasks, artificial latency is not
desired...
commit 12dab1d22770b58ae174c46dc292a4dfb0e01452
Author: Bjoern Brandenburg <bbb at mpi-sws.org>
Date: Sat Jun 8 12:22:59 2013 +0200
GSN-EDF: link tasks to local CPU if it is idle
If a task is released on a CPU that is idle, then it is pointless to
send an IPI to another CPU just to schedule the newly released task.
This patch changes check_for_preemptions() to prefer the local CPU
first if it is idle.
commit b46ddf5d187d603f72389ac047a99e80edb6285d
Author: Bjoern Brandenburg <bbb at mpi-sws.org>
Date: Thu May 30 14:34:22 2013 +0200
Use vmalloc() to allocate Feather-Trace buffers
Allocating contiguous buffers with kmalloc() is subject to severe
maximum size limits. For Feather-Trace to work, we don't actually need
*physically* contiguous memory; virtually contiguous memory is
sufficient. By switching to vmalloc(), the code gets simpler and we
can support much larger buffers.
For convenience, this patch also adds a configuration option for
the desired Feather-Trace buffer size and increases the default
size.
More information about the litmus-dev
mailing list