aboutsummaryrefslogtreecommitdiff
path: root/sys/sparc64/sparc64/intr_machdep.c
diff options
context:
space:
mode:
authorMarius Strobl <marius@FreeBSD.org>2005-04-16 15:05:56 +0000
committerMarius Strobl <marius@FreeBSD.org>2005-04-16 15:05:56 +0000
commit2f15864c858a61ba7774b72dfa994ea36dae1180 (patch)
tree0038da61c05ea0aa8fab463c6c7296764f300d0f /sys/sparc64/sparc64/intr_machdep.c
parent197bb5864f1737b32f9a863a828ef472e5272ceb (diff)
downloadsrc-2f15864c858a61ba7774b72dfa994ea36dae1180.tar.gz
src-2f15864c858a61ba7774b72dfa994ea36dae1180.zip
- MFi386: sys/i386/i386/intr_machdep.c rev. 1.11
Don't use atomic ops to increment interrupt stats. On sparc64 this reduces delay until tick interrupts are service by 1/10th on average. In turn this reduces the clock drift caused by these delays so there's less drift which has to be compensated in tick_hardclock(). This includes switching from atomically incrementing the global cnt.v_intr to the asm equivalent of PCPU_LAZY_INC(cnt.v_intr) in exception.S - Correct some comments to match the registers actually used. - Correct some format specifiers, interrupt levels passed in are u_int. - Use FBSDID. Ok'ed by: jhb
Notes
Notes: svn path=/head/; revision=145153
Diffstat (limited to 'sys/sparc64/sparc64/intr_machdep.c')
-rw-r--r--sys/sparc64/sparc64/intr_machdep.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/sparc64/sparc64/intr_machdep.c b/sys/sparc64/sparc64/intr_machdep.c
index f460f20989cd..24f71daa24b2 100644
--- a/sys/sparc64/sparc64/intr_machdep.c
+++ b/sys/sparc64/sparc64/intr_machdep.c
@@ -199,7 +199,7 @@ intr_stray_vector(void *cookie)
iv = cookie;
if (intr_stray_count[iv->iv_vec] < MAX_STRAY_LOG) {
printf("stray vector interrupt %d\n", iv->iv_vec);
- atomic_add_long(&intr_stray_count[iv->iv_vec], 1);
+ intr_stray_count[iv->iv_vec]++;
if (intr_stray_count[iv->iv_vec] >= MAX_STRAY_LOG)
printf("got %d stray interrupt %d's: not logging "
"anymore\n", MAX_STRAY_LOG, iv->iv_vec);