linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Simon Falsig <simon@newtec.dk>
To: Wolfgang Wallner <Wolfgang.Wallner@br-automation.com>,
	linux-rt-users@vger.kernel.org
Subject: SV: Configuration of real-time tasks in PREEMPT_RT kernels > 2.6.33
Date: Tue, 27 Aug 2013 08:17:15 +0200	[thread overview]
Message-ID: <34eaa2e2f9bbbbd9d32b88b66f8d16e8@mail.gmail.com> (raw)
In-Reply-To: <OF6C5E1E92.67FE0167-ONC1257BD3.0043D8B2-C1257BD3.00448947@br-automation.com>

-----Oprindelig meddelelse-----
Fra: linux-rt-users-owner@vger.kernel.org
[mailto:linux-rt-users-owner@vger.kernel.org] På vegne af Wolfgang Wallner
Sendt: 26. august 2013 14:29
Til: linux-rt-users@vger.kernel.org
Emne: Configuration of real-time tasks in PREEMPT_RT kernels > 2.6.33
>
>Dear RT community,
>
>I have a question regarding the configuration of real-time tasks in
PREEMPT _RT kernels > 2.6.33.
>Up to now, I only have experience with 2.6.33-rt.
>
>I use the openPOWERLINK[1] real-time ethernet stack, and have it running
on an x86-box with Ubuntu 13.04.
>I try to use it with two different kernel versions:
>* 2.6.33.7.2-rt30
>* 3.2.48-rt69
>
>When I use kernel version 2.6.33, I get very good results (jitter of
ethernet frames on the network < +/-10us).
>But when I use kernel version 3.2, the results are much worse. The jitter
on the network increases up to +/-50us.
>
>In my configuration, the openPOWERLINK stack consists of a kernel module
(data link layer) and a user space application.
>
>I know that in 2.6.33 there were splitted softirqs, and that it was
possible to configure each thread with its own priority.
>What are the steps that need to be done in 3.x to achieve similar results
as in 2.6.33?
>
>kind regards,
>Wolfgang Wallner
>
>[1] http://sourceforge.net/projects/openpowerlink/
>
>PS: Running cyclictest (e.g. sudo cyclictest -p 99 -n -i 500) on both
kernels shows very similar results (avg latency: 15us, max latency 35us).

Hi Wolfgang,

From the openPOWERLINK documentation (linux-x86.txt):

Kernel 3.x
   The behaviour of a 3.X real-time kernel changed. Splitted softirq
threads
   are no longer available. To get a good real-time behaviour the
following
   steps have to be made:
   1. A multicore processor is required for these optimizations!
   2. Ensure that the following configuration options are set for your
      real-time kernel:
      CONFIG_RT_GROUP_SCHED is not set
      CONFIG_RCU_BOOST=y
      CONFIG_RCU_BOOST_PRIO=99
   3. Isolate the second core of the multi-core processor to be used
      exclusively for openPOWERLINK by specifying the kernel-commandline
parameter
      isolcpus=1
   4. Set the default interrupt affinity to all other cores, e.g. for a
      dual-core system to core 0 by setting the kernel-commandline
parameter
      irqaffinity=0
   5. Disable IRQ balancing by disable irqbalance. This depends on your
      Linux distribution. For example in Ubuntu edit
/etc/default/irqbalance

So to get similar performance on 3.x, it seems that you'll need to assign
a core solely for the openPOWERLINK stack. I've wondered a bit about
whether there might be a different solution myself, but hadn't had the
time to investigate much further.

Best regards,
Simon Falsig
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2013-08-27  6:17 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-26 12:28 Configuration of real-time tasks in PREEMPT_RT kernels > 2.6.33 Wolfgang Wallner
2013-08-27  6:17 ` Simon Falsig [this message]
2013-08-27  9:50 ` Jeremy Jongepier
2013-08-27 21:12 ` Carsten Emde
2013-08-29  7:57 ` Wolfgang Wallner
  -- strict thread matches above, loose matches on Subject: below --
2013-08-27  9:14 SV: " Wolfgang Wallner

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=34eaa2e2f9bbbbd9d32b88b66f8d16e8@mail.gmail.com \
    --to=simon@newtec.dk \
    --cc=Wolfgang.Wallner@br-automation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).