From: Sepherosa Ziehau Date: Sat, 18 Aug 2012 07:17:50 +0000 (+0800) Subject: bce: Dispatch callouts to interrupt's target CPU X-Git-Tag: v3.2.0~365 X-Git-Url: http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/a131f6c2fac68c828fffb5afa351ebdae0ae1c20 bce: Dispatch callouts to interrupt's target CPU --- diff --git a/sys/dev/netif/bce/if_bce.c b/sys/dev/netif/bce/if_bce.c index 0356404..d173f81 100644 --- a/sys/dev/netif/bce/if_bce.c +++ b/sys/dev/netif/bce/if_bce.c @@ -4814,7 +4814,8 @@ bce_init(void *xsc) ifp->if_flags |= IFF_RUNNING; ifp->if_flags &= ~IFF_OACTIVE; - callout_reset(&sc->bce_tick_callout, hz, bce_tick, sc); + callout_reset_bycpu(&sc->bce_tick_callout, hz, bce_tick, sc, + sc->bce_intr_cpuid); back: if (error) bce_stop(sc); @@ -5779,7 +5780,8 @@ bce_pulse(void *xsc) } /* Schedule the next pulse. */ - callout_reset(&sc->bce_pulse_callout, hz, bce_pulse, sc); + callout_reset_bycpu(&sc->bce_pulse_callout, hz, bce_pulse, sc, + sc->bce_intr_cpuid); lwkt_serialize_exit(ifp->if_serializer); } @@ -5867,7 +5869,8 @@ bce_tick_serialized(struct bce_softc *sc) bce_stats_update(sc); /* Schedule the next tick. */ - callout_reset(&sc->bce_tick_callout, hz, bce_tick, sc); + callout_reset_bycpu(&sc->bce_tick_callout, hz, bce_tick, sc, + sc->bce_intr_cpuid); /* If link is up already up then we're done. */ if (sc->bce_link)