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