[LAU] rtirq - what does it improve, and how can I measure it?

Robin Gareus robin at gareus.org
Tue May 8 13:11:01 UTC 2012


Hi Ralf,

On 05/08/2012 12:14 PM, Ralf Mardorf wrote:
> On Mon, 2012-05-07 at 14:54 +0200, Robin Gareus wrote:
>> With linux >= 3.0 and the preemt-RT patch, you don't need the
>> 'threadirq' option with CONFIG_FORCE_THREADIRQ=y:

OOPS. Sorry about the typos above. That should have been 'PREEMPT_RT',
'threadirqs' and 'CONFIG_IRQ_FORCED_THREADING'.

>> http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux-2.6/debian/patches/features/all/rt/genirq-force-threading.patch?revision=18299&view=markup
> 
> So when I build a kernel-rt ex 3.0 from kernel.org source I need to use
> boot option threadirqs, if it isn't patched?

What is "kernel-rt ex 3.0" ??

https://www.kernel.org/pub/linux/kernel/projects/rt/3.[024] includes
that patch. It's not debian specific but part of Thomas Gleixner's
PREEMPT_RT patch. (It's just that debian's SCM viewer is the only one I
know that allows to read the [PREEMT_RT split quilt queue] patches in a
browser.)

> On AV Linux I run the 3.0.23-avl-7-pae with and the self-build
> 3.0.23-rt40 without threadirqs. This way there's no difference between
> those kernels. I can't make music using JACK1 (didn't test JACK2 until
> now with AV Linux).
> 
> But at least kernel-rt < 2.6.39 are ok without threadirqs ;)?

Correct. IIRC the 'threadirq' option was introduced in vanilla 2.6.39
when a large part of the tasklet-threading code was merged into Linus'
tree. This option was not present for linux-kernels (incl PREEMPT_RT
patched kernels) before 2.6.39.

> But CONFIG_IRQ_FORCED_THREADING has to be set for a kernel-rt too?

You don't really have no choice:

When you configure your kernel with the PREEMPT_RT patch,
PREEMPT_RT_FULL depends on CONFIG_IRQ_FORCED_THREADING and forces it
anyway (PREEMPT_RT_BASE does not).

> spinymouse at precise:~$ grep FORCE /media/avlinux/boot/config-3.0.23-rt40
> CONFIG_IRQ_FORCED_THREADING=y

If you compile a recent kernel (>=3.0) with the PREEMPT_RT patch and set
"CONFIG_IRQ_FORCED_THREADING=y", the boot-option 'threadirqs' is implied
and using it makes no difference.

ciao,
robin


More information about the Linux-audio-user mailing list