summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authorjchandra <jchandra@FreeBSD.org>2011-10-18 16:37:28 +0000
committerjchandra <jchandra@FreeBSD.org>2011-10-18 16:37:28 +0000
commit51d69a1aea63d654d051703a8ef3bca3d6998b2a (patch)
tree70ca18ceb01dcca91bd650fa1a50cdaf0ed55e21 /contrib/llvm/tools/clang/lib/Basic/Targets.cpp
parentc0da433b0a908c85fe0547ba8054795948e39d30 (diff)
downloadFreeBSD-src-51d69a1aea63d654d051703a8ef3bca3d6998b2a.zip
FreeBSD-src-51d69a1aea63d654d051703a8ef3bca3d6998b2a.tar.gz
Fix wakeup latency when sleeping with 'wait'
If we handle an interrupt just before the 'wait' and the interrupt schedules some work, we need to skip the 'wait' call. The simple solution of calling sched_runnable() with interrupts disabled immediately before wait still leaves a window after the call and before 'wait' in which the same issue can occur. The solution implemented is to check the EPC in the interrupt handler, and if it is in a region before the 'wait' call, to fix up the EPC to skip the wait call. Reported/analysed by: adrian Fix suggested by: kib Reviewed by: jmallett, imp
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Basic/Targets.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud