All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Haberler <mail17@mah.priv.at>
To: Carsten Emde <C.Emde@osadl.org>
Cc: John Morris <john@zultron.com>, linux-rt-users@vger.kernel.org
Subject: Re: Detecting PREEMPT_RT
Date: Sun, 20 Jan 2013 16:52:51 +0100	[thread overview]
Message-ID: <1819DC75-5826-4882-A2B7-20953DE3392A@mah.priv.at> (raw)
In-Reply-To: <50FB4BB1.7070005@osadl.org>

Hi Carsten

Am 20.01.2013 um 02:43 schrieb Carsten Emde:

> Unfortunately, this wiki article is old and unmaintained. You're probably right to be a bit suspicious when checking for the "-rt" suffix of the kernel release (uname -r). But looking for the occurrence of "PREEMPT RT" in the kernel version (uname -v) should work. An application may use the system call uname() and check the version element of the utsname structure.

the utsname.version string match is fine, however:

> In addition you may want to make sure the system has high-resolution timers. If so, the timers in /proc/timer_list have ".resolution: 1 nsecs". An application may use the function check_timer() from cyclictest for this purpose:
> static int check_timer(void)
> {
>  struct timespec ts;
> 
>  if (clock_getres(CLOCK_MONOTONIC, &ts))
>    return 1;
> 
>  return (ts.tv_sec != 0 || ts.tv_nsec != 1);
> }

Just tried this on a generic kernel (2.6.32-45-generic #102-Ubuntu SMP Wed Jan 2 21:53:06 UTC 2013 i686 GNU/Linux) and I get ts.tv_sec == 0 and ts.tv_nsec == 1, so it looks this cant be used to tell an RT_PREEMPT from a vanilla kernel

- Michael


  reply	other threads:[~2013-01-20 15:52 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-20  0:13 Detecting PREEMPT_RT John Morris
2013-01-20  1:43 ` Carsten Emde
2013-01-20 15:52   ` Michael Haberler [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1819DC75-5826-4882-A2B7-20953DE3392A@mah.priv.at \
    --to=mail17@mah.priv.at \
    --cc=C.Emde@osadl.org \
    --cc=john@zultron.com \
    --cc=linux-rt-users@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.