how to determine kernel interrupt latency

loody miloody at gmail.com
Sun Mar 16 09:09:59 EDT 2014


hi peter:


2014-01-17 13:41 GMT+08:00 Peter Teoh <htmldeveloper at gmail.com>:
> http://stackoverflow.com/questions/15383259/are-there-any-kernel-tools-available-to-measure-interrupt-latency-with-reasonabl
>
> checkout cyclictest.
I have checked cyclictest.
from manual page, it seems used to calculate thread latency instead of
interrupt latency
Would you please let me know if there any kind of command for using it
to check interrupt latency ?
thanks for your help,

cyclictest V 0.42
Usage:
cyclictest <options>

-a [NUM] --affinity        run thread #N on processor #N, if possible
                           with NUM pin all threads to the processor NUM
-b USEC  --breaktrace=USEC send break trace command when latency > USEC
-B       --preemptirqs     both preempt and irqsoff tracing (used with -b)
-c CLOCK --clock=CLOCK     select clock
                           0 = CLOCK_MONOTONIC (default)
                           1 = CLOCK_REALTIME
-C       --context         context switch tracing (used with -b)
-d DIST  --distance=DIST   distance of thread intervals in us default=500
-E       --event           event tracing (used with -b)
-f       --ftrace          function trace (when -b is active)
-i INTV  --interval=INTV   base interval of thread in us default=1000
-I       --irqsoff         Irqsoff tracing (used with -b)
-l LOOPS --loops=LOOPS     number of loops: default=0(endless)
-m       --mlockall        lock current and future memory allocations
-n       --nanosleep       use clock_nanosleep
-N       --nsecs           print results in ns instead of ms (default ms)
-o RED   --oscope=RED      oscilloscope mode, reduce verbose output by RED
-O TOPT  --traceopt=TOPT    trace option
-p PRIO  --prio=PRIO       priority of highest prio thread
-P       --preemptoff      Preempt off tracing (used with -b)
-q       --quiet           print only a summary on exit
-r       --relative        use relative timer instead of absolute
-s       --system          use sys_nanosleep and sys_setitimer
-T TRACE --tracer=TRACER   set tracing function
    configured tracers: unavailable (debugfs not mounted)
-t       --threads         one thread per available processor
-t [NUM] --threads=NUM     number of threads:
                           without NUM, threads = max_cpus
                           without -t default = 1
-v       --verbose         output values on stdout for statistics
                           format: n:c:v n=tasknum c=count v=value in us
-D       --duration=t      specify a length for the test run
                           default is in seconds, but 'm', 'h', or 'd' maybe add
ed
                           to modify value to minutes, hours or days
-h       --histogram=US    dump a latency histogram to stdout after the run
                           US is the max time to be be tracked in microseconds
-w       --wakeup          task wakeup tracing (used with -b)
-W       --wakeuprt        rt task wakeup tracing (used with -b)



More information about the Kernelnewbies mailing list