PERFORCE change 112980 for review
Paolo Pisati
piso at FreeBSD.org
Tue Jan 16 10:11:50 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=112980
Change 112980 by piso at piso_newluxor on 2007/01/16 10:10:55
Move spin lock acquisition inside the interrupt scanning
function.
While here, fix spacing and indentation.
Affected files ...
.. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#20 edit
Differences ...
==== //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#20 (text+ko) ====
@@ -273,7 +273,7 @@
{
mtx_init(&ia64_intrs_lock, "intr table", NULL, MTX_SPIN);
- callout_init_mtx(&stray_callout_handle, &ia64_intrs_lock, 0);
+ callout_init(&stray_callout_handle, 1);
}
SYSINIT(ithds_init, SI_SUB_INTR, SI_ORDER_SECOND, ithds_init, NULL);
@@ -361,10 +361,13 @@
walk_intr_ia64(void) {
struct ia64_intr *ia64_i;
static int i = 0;
+ int j;
- for (; i < IA64_NUMI; ) {
- int j = i++;
+ for (; i < IA64_NUMI;) {
+ j = i++;
+ mtx_lock_spin(&ia64_intrs_lock);
ia64_i = ia64_intrs[j];
+ mtx_unlock_spin(&ia64_intrs_lock);
if (ia64_i != NULL && ia64_i->event != NULL)
return (ia64_i->event);
}
@@ -374,12 +377,10 @@
void
intr_callout_reset(void)
-{
-
- mtx_lock_spin(&ia64_intrs_lock);
+{
+
callout_reset(&stray_callout_handle, hz,
- &stray_detection, &walk_intr_ia64);
- mtx_unlock_spin(&ia64_intrs_lock);
+ &stray_detection, &walk_intr_ia64);
}
static void
More information about the p4-projects
mailing list