All of lore.kernel.org
 help / color / mirror / Atom feed
* Detecting PREEMPT_RT
@ 2013-01-20  0:13 John Morris
  2013-01-20  1:43 ` Carsten Emde
  0 siblings, 1 reply; 10+ messages in thread
From: John Morris @ 2013-01-20  0:13 UTC (permalink / raw)
  To: linux-rt-users

Hi list,

I'm part of a project that recently added PREEMPT_RT support (as well as
Xenomai) to LinuxCNC/EMC2.

The next sub-project is a 'universal binary'.  The LCNC real-time module
will run some checks to determine what RT systems, if any, are available
on the running kernel, and then load the appropriate RT support module.

We wish to distinguish between PREEMPT_RT and non-RT kernels because
LCNC must confirm that the kernel really does have realtime
capabilities, if that's what the user expects, and print big warning
messages if not.  LCNC drives machines that weigh many tons and spins
spindles at 24k RPM, so this is important!

The RT PREEMPT HOWTO discusses checking the kernel here:

https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO#Checking_the_Kernel

One method is to use string matching against the kernel version, which
I'm a bit suspicious of.

An improvement, figure 7 suggests using string matching against the
process list in search of kernel thread names matching '[softirq-foo]'.

Figure 8 show how to check /proc/interrupts on older kernels, but 9
states this doesn't work for newer kernels, so this isn't an option.

We haven't found /proc/config.gz in any vendor-provided PREEMPT_RT
kernels, so that is not an option either.

So, is string matching against the process list the best detection
method, or is there something I've missed?

	John

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-01-22 10:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-20  0:13 Detecting PREEMPT_RT John Morris
2013-01-20  1:43 ` Carsten Emde
2013-01-20 15:52   ` Michael Haberler
2013-01-20 17:32     ` Carsten Emde
2013-01-20 18:39       ` John Morris
2013-01-20 20:18         ` Carsten Emde
2013-01-21 11:36           ` John Kacur
2013-01-21 12:14             ` Michael Haberler
2013-01-21 12:17               ` John Kacur
2013-01-22 10:47                 ` Michael Haberler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.