bcm64: use exclusive monitor on nrdy to wake up idlehands()

when the exclusive monitor is cleared, a event is generated
which we can use to wake up idlehands. that way we do not
need to wait for the next timer interrupt until a cpu takes
work from the run queue.
This commit is contained in:
cinap_lenrek 2019-05-10 14:05:04 +02:00
parent addb36ee48
commit db3bf8271b

View file

@ -293,10 +293,13 @@ TEXT splx(SB), 1, $-4
TEXT idlehands(SB), 1, $-4 TEXT idlehands(SB), 1, $-4
DMB $ISH DMB $ISH
MOVW nrdy(SB), R0 MOV $nrdy(SB), R1
CBNZ R0, _ready LDXRW (R1), R0
WFI CBZ R0, _goodnight
_ready: CLREX
SEVL
_goodnight:
WFE
RETURN RETURN
TEXT cycles(SB), 1, $-4 TEXT cycles(SB), 1, $-4