Extremely High rate of Interrupts on PXA250/ Problem with Id

Hi,

I have a PXA250 system setup with 6.2 Most everything works just fine
except when I provide a idle task handler to the kernel via
HookIdleInterrupt(). I have verified for certain that about every 3 micro
seconds the idle handler is being entered. I have ClockPeriod() setting the
kernel tick to 1mS; the qtime member timer_load that gets passed into the
idle handler seems to be set correctly as well. I am also highly confident
that I have no other interrupts occuring at that rate, this behavior has
been verified on multiple PXA250 platforms.

Does anybody know why this is and how I can change it so I can have more
MIPs for my applications to use?

Regards,
John Roul
fck8828@yahoo.com

I have a PXA250 system setup with 6.2 Most everything works just fine
except when I provide a idle task handler to the kernel via
HookIdleInterrupt(). I have verified for certain that about every 3 micro
seconds the idle handler is being entered. I have ClockPeriod() setting
the
kernel tick to 1mS; the qtime member timer_load that gets passed into the
idle handler seems to be set correctly as well. I am also highly
confident
that I have no other interrupts occuring at that rate, this behavior has
been verified on multiple PXA250 platforms.

Does anybody know why this is and how I can change it so I can have more
MIPs for my applications to use?

Perhaps I’m not understanding your question, but how does the rate at which
the idle handler executes affect the availability of the CPU to your
applications? The handler gets exec’d when the system is idle, ie. when you
applications are not running/ready.

\

Cheers,
Adam

QNX Software Systems Ltd.
[ amallory@qnx.com ]

With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <pschon@baste.magibox.net>

Hi Adam,

I left out one very important detail, I placed an CPU idle instruction in
the idle task and it keeps getting woken up.

Also, I asked for more MIPs because if the kernel tick is set to 1mS and if
I’m getting woke out of idle mode faster than that, then an interrupt must
be going off somewhere; even if a task switch does not occur, some amount
of a context save/restore must be occuring to service the interrupt and jump
back to the idle loop.

I’m going to have to verify that I’m correctly placing the CPU in idle mode
and/or don’t have a hardware problem but… after calling ClockPeriod things
seem to straighen out to only exiting idle every 1mS. I’ll keep looking for
something I’m doing wrong!

Thanks for the response!


“Adam Mallory” <amalloryNOSPAM@NOSPAMqnx.com> wrote in message
news:aioqrg$322$1@nntp.qnx.com

I have a PXA250 system setup with 6.2 Most everything works just fine
except when I provide a idle task handler to the kernel via
HookIdleInterrupt(). I have verified for certain that about every 3
micro
seconds the idle handler is being entered. I have ClockPeriod() setting
the
kernel tick to 1mS; the qtime member timer_load that gets passed into
the
idle handler seems to be set correctly as well. I am also highly
confident
that I have no other interrupts occuring at that rate, this behavior has
been verified on multiple PXA250 platforms.

Does anybody know why this is and how I can change it so I can have more
MIPs for my applications to use?

Perhaps I’m not understanding your question, but how does the rate at
which
the idle handler executes affect the availability of the CPU to your
applications? The handler gets exec’d when the system is idle, ie. when
you
applications are not running/ready.

\

Cheers,
Adam

QNX Software Systems Ltd.
[ > amallory@qnx.com > ]

With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <> pschon@baste.magibox.net