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

The idle hook is invoked via a call from the idle thread:

while (1) {
call kernel idle routine
}

The kernel idle routine calls your idle hook, so if you
don’t do anything in it, it will keep getting called by
the idle loop until another thread is scheduled.

Previously, John Roul wrote in comp.os.qnx:

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

Yes, I agree with your explanation. Except that I put a CPU idle
instruction in the idle routine. It kept coming out of idle very quickly.
That is until I called ClockPeriod to setup the kernel tick, then it stayed
idle for the time period that it should have (whatever I set ClockPeriod
to).

Thanks for the response!

“Sunil Kittur” <skittur@qnx.com> wrote in message
news:Voyager.020805023236.507948B@laptop…

The idle hook is invoked via a call from the idle thread:

while (1) {
call kernel idle routine
}

The kernel idle routine calls your idle hook, so if you
don’t do anything in it, it will keep getting called by
the idle loop until another thread is scheduled.

Previously, John Roul wrote in comp.os.qnx:
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’ll double check something tomorrow to verify I put it in idle mode
correctly.

“John Roul” <fck8828@yahoo.com> wrote in message
news:ais9ht$hv6$1@inn.qnx.com

Yes, I agree with your explanation. Except that I put a CPU idle
instruction in the idle routine. It kept coming out of idle very quickly.
That is until I called ClockPeriod to setup the kernel tick, then it
stayed
idle for the time period that it should have (whatever I set ClockPeriod
to).

Thanks for the response!

“Sunil Kittur” <> skittur@qnx.com> > wrote in message
news:Voyager.020805023236.507948B@laptop…
The idle hook is invoked via a call from the idle thread:

while (1) {
call kernel idle routine
}

The kernel idle routine calls your idle hook, so if you
don’t do anything in it, it will keep getting called by
the idle loop until another thread is scheduled.

Previously, John Roul wrote in comp.os.qnx:
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


\