Thread (13 messages) 13 messages, 5 authors, 2007-08-10

Re: How to control IRQ thread priority from inside the driver

From: Darren Hart <hidden>
Date: 2007-08-09 18:28:47

On Thursday 09 August 2007 07:10:57 Juergen Beisert wrote:
Darren,

On Wednesday 08 August 2007 23:09, Darren Hart wrote:
quoted
On Wednesday 08 August 2007 06:14:31 you wrote:
quoted
Hi,

with the rt-preempt patch the IRQs are all kernelthreads started with
priority 50. Is there a way to change this priority from inside the
driver, after I did the request_irq() call? I need a higher priority
for one interrupt source but I do not want to change it with chrt from
userspace. It should be done inside the driver.
I disagree.  The point of real-time is to provide user-space with more
control of what get's run, when, instead of something else - including
system interrupts, etc.  For instance, if networking should take a higher
priority than their application, but disk i/o should take a lower one,
the user needs to be able to control that.  chrt is the correct approach
for -rt in my opinion.
All I need is one IRQ at priority 51, all other can still run at 50. And I
don't want to search at system's runtime for the right PID of driver's
thread to set its priority via "chrt". There is no user at this system, its
an embedded one.
It seems reasonable then, for such a specialized case, to consider Remy's 
reply to my previous mail:

"To suit my needs, I did this by just patching the kernel thread
priorities at the places where they are started. (And I am still happy
with my solution. Note that because it is very application specific, I
never expect a patch like this to get to the mainline)"

-- 
Darren Hart
IBM Linux Technology Center
Realtime Linux Team
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help