eventtimer issue on mips: temporary workaround
Jayachandran C.
c.jayachandran at gmail.com
Thu Sep 29 06:41:49 UTC 2011
On Wed, Sep 28, 2011 at 10:06 PM, Adrian Chadd <adrian at freebsd.org> wrote:
> .. so, the patch is totallyw rong.
>
> intr_disable() needs to be moved before critical_enter() or it doesn't
> achieve anything.
I'm not able to figure out why...
> But the race is still there, between intr_enable() and "wait".
> The only way to eliminate this race is to completely eliminate all the
> code in cpu_idle().
the amd implementation seems to be using the STI instruction to enable
interrupts - but I'm not able to see how to avoid this race condition
on platforms which does not have a similar instruction.
> Would someone clued in the implementation of wait please step up and help? :)
What if go back to the earlier version of cpu_idle which does not have
critical_enter() and cpu_idleclock() for now, or does this also have
issues?
I had also seen issues on XLR which went away when I took out
'ET_FLAGS_ONESHOT' from the mips clock event timer . That is another
possible workaround.
JC.
More information about the freebsd-mips
mailing list