From: Remy Bohmer <linux@bohmer.net>
To: Peter Zijlstra <peterz@infradead.org>,
Armin Steinhoff <armin@steinhoff.de>,
Thomas Gleixner <tglx@linutronix.de>,
Johannes Bauer <hannes_bauer@aon.at>,
Monica Puig-Pey <puigpeym@unican.es>,
Rolando Martins <rolando.martins@gmail.com>,
linux-rt-users@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Changing Kernel thread priorities
Date: Tue, 7 Jun 2011 13:02:30 +0200 [thread overview]
Message-ID: <BANLkTi=KPyds_BWYpXHeUkAg000FGSuJOQ@mail.gmail.com> (raw)
In-Reply-To: <1307439469.2322.235.camel@twins>
[-- Attachment #1: Type: text/plain, Size: 2535 bytes --]
Hi All,
2011/6/7 Peter Zijlstra <peterz@infradead.org>:
> On Tue, 2011-06-07 at 11:40 +0200, Armin Steinhoff wrote:
>> Hi,
>>
>> when I read all these confusing statements here ( in german it looks
>> like an "Eiertanz") ... I can only say:
>>
>> - do the basic stuff in a minimal kernel driver
>> - use UIO (or VFIO for PCI devices)
>
> I see no requirement for any of those horrid things to be used. You can
> write a full on proper kernel driver, it just cannot set kernel thread
> priorities to a sane value (let them all default to 50 or so).
>
> Then have a user space script or whatever set the kthread priorities.
>> and you get clean control about your real-time priorities.
>> I think changing the priorities of "interrupt threads" inside the kernel
>> could lead to strange race conditions in the kernel.
Well, I 100% agree that it must be under full userspace control to be
able to set the priorities. But, the kernel default assumption of
starting everything at 50 is wrong as well.
Imagine the following situation:
* Realtime application is running and has threads active in the range
of prios 20 - 90.
* Now bring up a network device, it immediately starts spamming the
system at prio 50 _before_ you have the chance to set it below 20 by
means of chrt.
* RT behaviour is gone!
So, in that case and in many other hotplug cases, you ruin the RT
behaviour of the system just by the
default-50-is-probably-right-assumption of the kernel.
For systems where you have everything under control as a user/system
designer, hotplug can also be under control as well.
To solve this we have the patchset in use as attached to this mail. It
is a newer version of the old set mentioned earlier in this mail
thread.
The opinion of Thomas about this subject is quite clear so I will not
post it as a cleaned up patchset, although I believe we reworked all
his previous major remarks about this set.
For everyone else who can do something useful with it: go ahead. It
should apply to 2.6.33.9-rt31
It creates entries in /proc/irq for you to setup the priorities after
booting. (/proc/irq/hirq-prio and /proc/irq/sirq-prio), but also per
driver in /proc/irq/<irq-id>/<name>/irqprio
In /proc/irq/[hs]irq-prio you can, for example, enter the following text:
* at91_udc:22,ohci_hcd:usb1:22,atmel_spi:22,33
This results in:
* starting the at91_udc at prio 22
* starting ohci:usb1 also at prio 22
* atmel_spi at 22
* overall default moved from 50 to 33
Kind regards,
Remy
[-- Attachment #2: irqprio-patches.tar.gz --]
[-- Type: application/x-gzip, Size: 5565 bytes --]
next prev parent reply other threads:[~2011-06-07 11:02 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-07 8:27 Changing Kernel thread priorities Johannes Bauer
2011-06-07 8:41 ` Thomas Gleixner
2011-06-07 9:40 ` Armin Steinhoff
2011-06-07 9:37 ` Peter Zijlstra
2011-06-07 11:02 ` Remy Bohmer [this message]
2011-06-07 14:14 ` Peter Zijlstra
2011-06-07 14:57 ` Lucas De Marchi
2011-06-07 15:15 ` Thomas Gleixner
2011-06-07 23:38 ` Nicholas Mc Guire
2011-06-07 23:35 ` Nicholas Mc Guire
2011-06-08 17:50 ` Remy Bohmer
2011-06-08 19:49 ` Thomas Gleixner
2011-06-10 14:04 ` Remy Bohmer
2011-06-10 15:37 ` Thomas Gleixner
2011-06-11 17:16 ` Remy Bohmer
2011-06-09 11:19 ` Nicholas Mc Guire
[not found] <17185480.5304.1307435255996.JavaMail.root@WARSBL214.highway.tel ekom.at>
[not found] ` <17185480.5304.1307435255996.JavaMail.root@WARSBL214.highway.te lekom.at>
2011-06-07 8:32 ` Monica Puig-Pey
2011-06-07 8:43 ` Thomas Gleixner
-- strict thread matches above, loose matches on Subject: below --
2011-06-06 12:10 Johannes Bauer
2011-06-06 22:36 ` Peter Zijlstra
2011-06-04 11:48 One Interrupted Threads per Interrupt line? Monica Puig-Pey
2011-06-04 12:03 ` I/O operations priority in RTOS Monica Puig-Pey
2011-06-04 12:30 ` kernel threads in drivers using the RT patch Monica Puig-Pey
2011-06-06 11:47 ` Changing Kernel thread priorities Monica Puig-Pey
2011-06-06 11:54 ` Rolando Martins
2011-06-06 11:58 ` Monica Puig-Pey
2011-06-06 16:49 ` Mark Hounschell
2011-06-07 8:40 ` Monica Puig-Pey
2011-06-07 9:14 ` Mark Hounschell
2011-06-07 9:46 ` Mark Hounschell
2011-06-07 18:34 ` Monica Puig-Pey
2011-06-07 18:55 ` Mark Hounschell
2011-06-10 10:12 ` Monica Puig-Pey
2011-06-06 18:20 ` Armin Steinhoff
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='BANLkTi=KPyds_BWYpXHeUkAg000FGSuJOQ@mail.gmail.com' \
--to=linux@bohmer.net \
--cc=armin@steinhoff.de \
--cc=hannes_bauer@aon.at \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=puigpeym@unican.es \
--cc=rolando.martins@gmail.com \
--cc=tglx@linutronix.de \
/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).