Stress tests

Hi

I have a device connected to Portux.
The device counts events and stores them into its own FIFO memory.
As soon as the device has 100 events stored in the FIFO, it sets the
line "AT91_PIN_PC15" to HIGH. This line is defined in my driver as
interrupt (LF_interrupt2), which means that as soon as the device has
counted 100 events, an interrupt is generated.
After about 11 days of continous measurements, I have the following
situation:

root@Portux920T:# uptime
23:46:51 up 10 days, 22:46, load average: 0.00, 0.00, 0.00

root@Portux920T:# cat /proc/interrupts
CPU0
1: 94371380 AT91RM9200 Timer Tick, at91_serial
8: 4519185 at91_serial
11: 0 at91_udc
13: 0 spi
24: 21623008 eth0
100: 1 eth0
101: 1 at91_udc
111: 122902064 LF_interrupt2
Err: 0

root@Portux920T:# cat /proc/stat
cpu 600220 0 63033 93880802 0 17864 79169 0
cpu0 600220 0 63033 93880802 0 17864 79169 0
intr 243857322 0 94567354 0 0 0 0 0 0 4525119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2166
4325 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
0 0 0 0 0 0 0 0 123100522 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 13228800
btime 0
processes 45988
procs_running 1
procs_blocked 0

Is this situation normal/acceptable? The question is whether I am
pushing Portux beyond its capabilities.

Best regards

Paolo Celani

Re: Stress tests

I don't see here anything pointing to problems. Your Portux has a small loadaverage (0.0 - our compile server has a load average of 1.1 in over a year now), it spends about all of it's time in idle mode doing nothing. You have no interrupt errors, no steal processes. All values look pretty normal to me.
If you haven't done it before: When testing a setup comparing the output of "free" over time periods can be very conclusive, as memory leaks somewhere in the system will let your actual used memory gradually (sometimes very slow) rise.

Re: Stress tests

Thanks for the answer and for the tip about using "free" (which I did
not know).
I was worried mostly about the interrupts.
As you can see the device connected to Portux generates more interrupts
than the timer itself and Portux practically sits there idle until
an interrupt or a request from the PC comes.
I would say that 99.99% of its time it reacts to interrupts.
Are we near the limit as far as the number of interrupts is concerned?

Paolo Celani

Re: Stress tests

Concluding from your numbers:
Your system is spending 0,066% in kernel mode (system), 0,1% in interrupt mode, and 0,63% in user mode and 99,29% in idle mode.
That looks like there are some resources left.
Your interrupt fires every 7ms, the timer interrupt every 10ms. This should not pose any problems, linux works also good, when you set the jiffies to 5ms or even lower. The average response time to an interrupt is about 20 to 30 microseconds.

Syndicate content