Device Interrupt Handler CPU Load Anaysis Method.

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Jan 17 06:50:51 UTC 2018


On 17/01/18 07:35, Thomas Kim wrote:
> Dear Huber,
>
> I think that there is limitation using RTEMS profiling feature, too.

There are always limitations.

> Instead of this method, I am using hardware assitance method using 
> GPIO signal as like below;
>
> void bsp_interrupt_dispatch(void)
> {
>   volatile gic_cpuif *cpuif = GIC_CPUIF;
>   uint32_t icciar = cpuif->icciar;
>   rtems_vector_number vector = GIC_CPUIF_ICCIAR_ACKINTID_GET(icciar);
>   rtems_vector_number spurious = 1023;
>   if (vector != spurious) {
>     uint32_t psr = _ARMV4_Status_irq_enable();
>     gpio01_19_high(); /* Signal High */
>     bsp_interrupt_handler_dispatch(vector);
>     gpio01_19_low(); /* Signal Low */
>
>     _ARMV4_Status_restore(psr);
>     cpuif->icceoir = icciar;
>   }
> }
>
> When I check GPIO signal using digital scope, I can check average duty 
> cycle.
>
> Do you think that it is good method ?

It depends on your needs.

>
> There is additional question.
> I think that CPU time percentage using "cpuuse" is CPU time consuming 
> value except interrupt handler consuming time.
>
> Is it correct ?

No, the interrupt processing time counts as execution time of the 
executing thread.

>
> Best Regards,
> Thomas
>
>
> 2018-01-12 15:03 GMT+09:00 Sebastian Huber 
> <sebastian.huber at embedded-brains.de 
> <mailto:sebastian.huber at embedded-brains.de>>:
>
>     On 12/01/18 02:38, Thomas Kim wrote:
>
>         Dear Sir,
>
>         As I checked until now, thread(task, pthread) cpu load
>         analysis method using "cpuuse" is perfect !
>
>         At this time, I am doing multiple device interrupt hander
>         stress testing. but, there is not CPU load anaysis method
>         about multiple device interrupt handler.
>
>         Is there any method for checking CPU load about multiple
>         device interrupt handlers ?
>
>
>     The is limited support for this. You can try to use enable the
>     profiling option:
>
>     cpukit/sapi/include/rtems/profiling.h
>
>     For interrupt profiling a BSP support is necessary. I think it is
>     only implemented on ARM, PowerPC and SPARC currently.
>
>     The RTEMS trace linker is also an option.
>
>     -- 
>     Sebastian Huber, embedded brains GmbH
>
>     Address : Dornierstr. 4, D-82178 Puchheim, Germany
>     Phone   : +49 89 189 47 41-16
>     Fax     : +49 89 189 47 41-09
>     E-Mail  : sebastian.huber at embedded-brains.de
>     <mailto:sebastian.huber at embedded-brains.de>
>     PGP     : Public key available on request.
>
>     Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
>

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the users mailing list