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