CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2019/05/06 06:57:56
Modified files:
sys/arch/mips64/mips64: cpu.c sendsig.c trap.c
Log message:
Enforce store/load order when setting or clearing AST flag on mips64
Make sure that any preceding stores become visible to other CPUs before
setting the AST flag in need_resched() and signotify(). This should
prevent a very unlikely case with inter-CPU ASTs where the receiving
CPU uses stale state.
When clearing the AST flag in ast(), ensure that the clearing store
is performed before any other memory accesses in the AST handler.
Otherwise, there is a slight risk of losing an AST request that gets
posted while the handler is running.
OK guenther@