diff options
author | John Baldwin <jhb@FreeBSD.org> | 2008-01-17 18:59:38 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2008-01-17 18:59:38 +0000 |
commit | c05655bfda46e1ea6ddeee5a6c12ea44ddff28ec (patch) | |
tree | 3c99a002d20f9c0c3ae39a1f03e4eb826f36bb6e /sys/isa | |
parent | 6634dbbde405683056b1535136993a0155b874eb (diff) | |
download | src-c05655bfda46e1ea6ddeee5a6c12ea44ddff28ec.tar.gz src-c05655bfda46e1ea6ddeee5a6c12ea44ddff28ec.zip |
Use cpu_spinwait() (i.e., "pause") when spinning on rdtsc during DELAY().
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=175405
Diffstat (limited to 'sys/isa')
-rw-r--r-- | sys/isa/atrtc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/isa/atrtc.c b/sys/isa/atrtc.c index a67db3173a5b..f31c7ea2eeaa 100644 --- a/sys/isa/atrtc.c +++ b/sys/isa/atrtc.c @@ -291,6 +291,7 @@ DELAY(int n) start = rdtsc(); end = start + (tsc_freq * n) / 1000000; do { + cpu_spinwait(); now = rdtsc(); } while (now < end || (now > start && end < start)); sched_unpin(); |