LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   disabling interrupts to approach RT performance? (https://www.linuxquestions.org/questions/programming-9/disabling-interrupts-to-approach-rt-performance-698649/)

CelticBlues 01-20-2009 01:32 PM

disabling interrupts to approach RT performance?
 
Please advise if this question is OT. (If so, where can I post it or read more about said topic?)

I have an application that grabs frames from a frame grabber. It is dropping frames, sometimes, 30 frames at a time. I suspect this is occuring due to background tasks or something like that interupting the app. In the future I may go to a hard RT linux, but for now, I just have time to try to reduce the number and frequency of frame drops.
I read on some linux websites that one can disable interrupts to increase performance and/or reduce latencies.
My questions are

1. Is this an acceptable practice? If not, what are my other options?

2. How can I do this?
Would I use:
void local_irq_save(unsigned long flags);
void local_irq_restore(unsigned long flags);


3. What interupts should I consider disabling?


CB

jlinkels 01-20-2009 08:16 PM

I think it is On Topic :)

How many frames do you have in a second, and how much processing do you have to do for each frame? And how much does that keep your processor occupied? Could it be that your own application is too busy and drops frames.

In a multi-tasking OS like Linux it is said that you can never be sure when your task is being scheduled. However, my experience is that a normal running task can run very much uninterrupted when only being interrupted by system tasks.

If you start disabling interrupts you might very well be interfering with the performance of you Linux system.

What process uses the most time? Are you nearing a limit of CPU usage?

One of the first things I would try is to unnice your frame grabber program.

e.q.:

Code:

nice -20 myframegrabber
You can also renice your program thru top.

jlinkels


All times are GMT -5. The time now is 12:57 PM.