summaryrefslogtreecommitdiffstats
path: root/sys/dev/rc
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2003-02-26 19:21:56 +0000
committerjhb <jhb@FreeBSD.org>2003-02-26 19:21:56 +0000
commitcaf8c705b393a265c2d8f52d4c113d44b43b7dd0 (patch)
treeb4c79c27e45d139b0897258b20eb41f12f506c08 /sys/dev/rc
parent789b4b4840730e49ff383ec39433c066d541b4ac (diff)
downloadFreeBSD-src-caf8c705b393a265c2d8f52d4c113d44b43b7dd0.zip
FreeBSD-src-caf8c705b393a265c2d8f52d4c113d44b43b7dd0.tar.gz
Move an optimization check so that it breaks out of the correct loop.
Basically, as soon as we have run out of events to handle in the swi, we stop looping through all the channels in a for loop.
Diffstat (limited to 'sys/dev/rc')
-rw-r--r--sys/dev/rc/rc.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/dev/rc/rc.c b/sys/dev/rc/rc.c
index 672b091..40178ec 100644
--- a/sys/dev/rc/rc.c
+++ b/sys/dev/rc/rc.c
@@ -818,11 +818,10 @@ done1: ;
critical_exit();
(*linesw[tp->t_line].l_start)(tp);
}
+ if (sc->sc_scheduled_event == 0)
+ break;
}
- if (sc->sc_scheduled_event == 0)
- break;
- }
- while (sc->sc_scheduled_event >= LOTS_OF_EVENTS);
+ } while (sc->sc_scheduled_event >= LOTS_OF_EVENTS);
}
static void
OpenPOWER on IntegriCloud