All of lore.kernel.org
 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 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.