timeout_pending followed by timeot_del is pointless, as timeout_del
effectively does the pending check itself.
now that timeout_del returns whether the timeout was actually
removed, you can make decisions based on that rather than race with
timeout_pending
checking timeout_pending shortly after you already went timeout_del
is a waste of time too.
Index: arch/loongson/dev/kb3310.c
===================================================================
RCS file: /cvs/src/sys/arch/loongson/dev/kb3310.c,v
retrieving revision 1.18
diff -u -p -r1.18 kb3310.c
--- arch/loongson/dev/kb3310.c 3 Oct 2012 21:44:51 -0000 1.18
+++ arch/loongson/dev/kb3310.c 9 Dec 2013 10:30:36 -0000
@@ -520,8 +520,7 @@ ykbec_bell(void *arg, u_int pitch, u_int
s = spltty();
bctrl = ykbec_read(sc, REG_BEEP_CONTROL);
- if (volume == 0 || timeout_pending(&sc->sc_bell_tmo)) {
- timeout_del(&sc->sc_bell_tmo);
+ if (volume == 0 || timeout_del(&sc->sc_bell_tmo)) {
/* inline ykbec_bell_stop(arg); */
ykbec_write(sc, REG_BEEP_CONTROL, bctrl & ~BEEP_ENABLE);
}
Index: arch/sgi/dev/iockbc.c
===================================================================
RCS file: /cvs/src/sys/arch/sgi/dev/iockbc.c,v
retrieving revision 1.8
diff -u -p -r1.8 iockbc.c
--- arch/sgi/dev/iockbc.c 10 Aug 2012 17:49:31 -0000 1.8
+++ arch/sgi/dev/iockbc.c 9 Dec 2013 10:30:36 -0000
@@ -441,7 +441,7 @@ iockbcintr_internal(struct pckbc_interna
uint32_t val;
/* Reschedule timeout further into the idle times. */
- if (timeout_pending(&t->t_poll))
+ if (timeout_del(&t->t_poll))
timeout_add_sec(&t->t_poll, 1);
/*
Index: arch/sgi/dev/mkbc.c
===================================================================
RCS file: /cvs/src/sys/arch/sgi/dev/mkbc.c,v
retrieving revision 1.12
diff -u -p -r1.12 mkbc.c
--- arch/sgi/dev/mkbc.c 10 Aug 2012 17:49:31 -0000 1.12
+++ arch/sgi/dev/mkbc.c 9 Dec 2013 10:30:36 -0000
@@ -322,7 +322,7 @@ mkbcintr_internal(struct pckbc_internal
u_int64_t data;
/* Reschedule timeout further into the idle times. */
- if (timeout_pending(&t->t_poll))
+ if (timeout_del(&t->t_poll))
timeout_add_sec(&t->t_poll, 1);
/*
Index: arch/sparc/dev/be.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc/dev/be.c,v
retrieving revision 1.45
diff -u -p -r1.45 be.c
--- arch/sparc/dev/be.c 27 Nov 2013 08:56:31 -0000 1.45
+++ arch/sparc/dev/be.c 9 Dec 2013 10:30:37 -0000
@@ -323,8 +323,7 @@ bestop(sc)
int tries;
sc->sc_arpcom.ac_if.if_timer = 0;
- if (timeout_pending(&sc->sc_tick))
- timeout_del(&sc->sc_tick);
+ timeout_del(&sc->sc_tick);
tries = 32;
sc->sc_br->tx_cfg = 0;
Index: dev/ic/cy.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/cy.c,v
retrieving revision 1.33
diff -u -p -r1.33 cy.c
--- dev/ic/cy.c 18 Nov 2010 21:15:15 -0000 1.33
+++ dev/ic/cy.c 9 Dec 2013 10:30:37 -0000
@@ -348,8 +348,7 @@ cyopen(dev, flag, mode, p)
cy->cy_channel_control = 0;
- if (!timeout_pending(&sc->sc_poll_to))
- timeout_add(&sc->sc_poll_to, 1);
+ timeout_add(&sc->sc_poll_to, 1);
/* this sets parameters and raises DTR */
cyparam(tp, &tp->t_termios);
Index: dev/ic/pckbc.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/pckbc.c,v
retrieving revision 1.37
diff -u -p -r1.37 pckbc.c
--- dev/ic/pckbc.c 24 Sep 2013 08:33:50 -0000 1.37
+++ dev/ic/pckbc.c 9 Dec 2013 10:30:37 -0000
@@ -976,7 +976,7 @@ pckbcintr_internal(struct pckbc_internal
int served = 0, data;
/* reschedule timeout further into the idle times */
- if (timeout_pending(&t->t_poll))
+ if (timeout_del(&t->t_poll))
timeout_add_sec(&t->t_poll, 1);
for(;;) {
Index: dev/pci/if_txp.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_txp.c,v
retrieving revision 1.108
diff -u -p -r1.108 if_txp.c
--- dev/pci/if_txp.c 26 Nov 2013 09:50:33 -0000 1.108
+++ dev/pci/if_txp.c 9 Dec 2013 10:30:37 -0000
@@ -1250,8 +1250,7 @@ txp_init(struct txp_softc *sc)
ifp->if_flags |= IFF_RUNNING;
ifp->if_flags &= ~IFF_OACTIVE;
- if (!timeout_pending(&sc->sc_tick))
- timeout_add_sec(&sc->sc_tick, 1);
+ timeout_add_sec(&sc->sc_tick, 1);
splx(s);
}
Index: dev/pci/if_vge.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_vge.c,v
retrieving revision 1.57
diff -u -p -r1.57 if_vge.c
--- dev/pci/if_vge.c 21 Aug 2013 05:21:44 -0000 1.57
+++ dev/pci/if_vge.c 9 Dec 2013 10:30:37 -0000
@@ -1678,8 +1678,7 @@ vge_init(struct ifnet *ifp)
sc->vge_link = 0;
- if (!timeout_pending(&sc->timer_handle))
- timeout_add_sec(&sc->timer_handle, 1);
+ timeout_add_sec(&sc->timer_handle, 1);
return (0);
}
Index: dev/pci/if_vr.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_vr.c,v
retrieving revision 1.131
diff -u -p -r1.131 if_vr.c
--- dev/pci/if_vr.c 6 Dec 2013 21:03:04 -0000 1.131
+++ dev/pci/if_vr.c 9 Dec 2013 10:30:37 -0000
@@ -1510,8 +1510,7 @@ vr_init(void *xsc)
ifp->if_flags |= IFF_RUNNING;
ifp->if_flags &= ~IFF_OACTIVE;
- if (!timeout_pending(&sc->sc_to))
- timeout_add_sec(&sc->sc_to, 1);
+ timeout_add_sec(&sc->sc_to, 1);
splx(s);
}
Index: kern/kern_synch.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_synch.c,v
retrieving revision 1.111
diff -u -p -r1.111 kern_synch.c
--- kern/kern_synch.c 25 Nov 2013 15:24:18 -0000 1.111
+++ kern/kern_synch.c 9 Dec 2013 10:30:37 -0000
@@ -263,9 +263,8 @@ sleep_finish_timeout(struct sleep_state
if (p->p_flag & P_TIMEOUT) {
atomic_clearbits_int(&p->p_flag, P_TIMEOUT);
return (EWOULDBLOCK);
- } else if (timeout_pending(&p->p_sleep_to)) {
+ } else
timeout_del(&p->p_sleep_to);
- }
return (0);
}