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:
parent
addb36ee48
commit
db3bf8271b
1 changed files with 7 additions and 4 deletions
|
@ -293,10 +293,13 @@ TEXT splx(SB), 1, $-4
|
|||
|
||||
TEXT idlehands(SB), 1, $-4
|
||||
DMB $ISH
|
||||
MOVW nrdy(SB), R0
|
||||
CBNZ R0, _ready
|
||||
WFI
|
||||
_ready:
|
||||
MOV $nrdy(SB), R1
|
||||
LDXRW (R1), R0
|
||||
CBZ R0, _goodnight
|
||||
CLREX
|
||||
SEVL
|
||||
_goodnight:
|
||||
WFE
|
||||
RETURN
|
||||
|
||||
TEXT cycles(SB), 1, $-4
|
||||
|
|
Loading…
Reference in a new issue