How to establish a priority to an interrupt handler

From: Monica Puig-Pey
Date: Tue May 17 2011 - 08:18:45 EST


I'm using Ubuntu 10.04 with the 2.6.31-11-rt patch installed. I'm
developing a PCI device driver using hardware interrupts.
As I read at the RT wiki
( )
interrupts are moved to kernel threads called Threaded Interrupts in the
RT patch.

I would like to give a priority chosen by me to my IRQ handler, but I
don't know how to do it, or if it is possible (it seems it is).

I've found ( ) that what I had to use in
order to get Threaded Interrupt is:

int request_threaded_irq(unsigned int irq, irq_handler_t handler,
irq_handler_t quick_check_handler,
unsigned long flags, const char *name, void *dev)

But there is not priority there!

Using ps -eo pid,pri,rtprio,cmd I've seen my handler runs with priority 50.

I also used :

int request_irq (unsigned int irq, void (*handler) (int, void *, struct
pt_regs *), unsigned long irqflags, const char *devname, void *dev_id);

and using ps command here my handler still runs with priority 50.
Shouldn't it work as a non threaded interrupt then? Why 50 instead 99 or
the highest priority one?

Which function should I use to chose the priority for the IRQ thread?

Is there any other function to call from this context where my handler
could know its priority?

Please I wish to be personally CC'ed the answers/comments posted to the list in response to my posting because I'm not subscribed to the list.

Thank you very much

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at