ISR Timing

Hi All I am facing the strange problem.

We are uing the PPC Linux over the MPC860 Board. There is a kernel char driver which interracts with the HW on request from the User Mode Application. ISR routines are written in Kernel which sends the signal to the User Mode using the Select poll mechanism.

When I put the printk inside the ISR routine , User Mode Task receives the event very fast however on removing the printk it takes a long time for the event to be recieved by the user task.

Can somebody help what the printk is doing ?

I have Level triggered interrupts and interrupts are disabled in ISR and enabled on reading the HW source.

Thanks in Advance

Reply to
khurana77
Loading thread data ...

First, it is a bad idea to use printk() inside an isr. You really cannot trust any timing the results and you risk the system being locked up. An isr runs with the rest of the kernel shut off. You can get some basic debugging done that way. A much better way would be to use a trace mechanism.

Having said that, Let's go to your problem. It is hard to analyze anything without seeing source code. You could email it if you don't feel comfortable posting it. If it is large, you really can't post it here. There will be a fairly simple solution. We just have to find it.

Bill

Reply to
Bill Touchstone

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.