imx25: maximum latency increased on some tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear all.

We have an embedded board based on Freescale imx25 (ARM9 at 400 MHz) with 64MB RAM and Linux 2.6.31 provided by Freescale.

We have ported PREEMPT_RT-21 and made some measurements using the rt-tests suite (cloned from the official repo at git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git).

Summing up, our reference software is

	Architecture: imx25
	Kernel: 2.6.31 provided by Freescale
	Preempt_Rt patch: rt21
	TestSuite: rt-tests V0.84


The cyclictest showed a reduction of the maximum latency, as we were expecting.

However, the other tests showed a maximum latency higher than without the patch (which is supposed to reduce the maximum latency).

Please, find below the results that we have obtained.

We know that this version of preempt_rt is outdated. However, we can't figure out how the maximum latency can be higher.

Do you have any idea about the possible reason of this behavior ?

Many thanks,

	Claudio and Alessandro



SIGNALTEST:

Without preempt_rt:

    $ signaltest -l 10000 -t 4
    0.40 0.92 0.58 1/35 2199
T: 0 ( 2196) P: 0 C: 10000 Min: 157 Act: 184 Avg: 219 Max: 1246

With preempt_rt:

    $ signaltest -l 10000 -t 4
    0.03 2.87 6.53 3/62 2684
T: 0 ( 2681) P: 0 C: 10000 Min: 215 Act: 260 Avg: 384 Max: 2038


SIGWAITTEST:

Without preempt_rt:

    $ sigwaittest -l 10000 -t 2
    #0: ID2201, P0, CPU0, I1000; #1: ID2202, P0, CPU0, Cycles 10000
    #2: ID2203, P0, CPU0, I1500; #3: ID2204, P0, CPU0, Cycles 7019
    #1 -> #0, Min   40, Cur   58, Avg   71, Max 1191
    #3 -> #2, Min   42, Cur   61, Avg   69, Max  954

With preempt_rt:

    $ sigwaittest -l 10000 -t 2
    #0: ID2687, P0, CPU0, I1000; #1: ID2688, P0, CPU0, Cycles 10000
    #2: ID2689, P0, CPU0, I1500; #3: ID2690, P0, CPU0, Cycles 7007
    #1 -> #0, Min   51, Cur   63, Avg  105, Max 1379
    #3 -> #2, Min   57, Cur   63, Avg  105, Max 2081



SVSEMATEST:

Without preempt_rt:

    $ svsematest -l 10000 -t 2
    #0: ID2206, P0, CPU0, I1000; #1: ID2207, P0, CPU0, Cycles 10000
    #2: ID2208, P0, CPU0, I1500; #3: ID2209, P0, CPU0, Cycles 7094
    #1 -> #0, Min   17, Cur   34, Avg   37, Max  940
    #3 -> #2, Min   18, Cur   32, Avg   34, Max  809

With preempt_rt:

    $ svsematest -l 10000 -t 2
    #0: ID2703, P0, CPU0, I1000; #1: ID2704, P0, CPU0, Cycles 10000
    #2: ID2705, P0, CPU0, I1500; #3: ID2706, P0, CPU0, Cycles 6858
    #1 -> #0, Min   29, Cur   47, Avg   65, Max 1423
    #3 -> #2, Min   30, Cur   91, Avg   83, Max 1314



PI_STRESS:

Finally, the pi_stress (priority-inheritance code paths for POSIX mutexes) sometimes fails with preempt_rt on the SCHED_FIFO policy (this behavior did not occurred without preempt_rt, even if it is still possible):

    $ pi_stress --duration 100 --groups=2
    Starting PI Stress Test
    Number of thread groups: 2
    Duration of test run: 100 seconds
    Number of inversions per group: unlimited
    Test threads using scheduler policy: SCHED_FIFO
            Admin thread priority:  4
    2 groups of 3 threads will be created
            High thread priority:   3
            Med  thread priority:   2
            Low thread priority:    1
    Current Inversions: 2531
    ERROR: WATCHDOG triggered: group 0 is deadlocked!
    ERROR: reporter stopping due to watchdog event
    Stopping test
    Terminated


--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux