``ticks'' is in my opinion a really badly named global variable. But we
all know that finding names is hard ;)
Since its popularity seems to be really high lately, I'd suggest to
rename it. I chose ``hcticks'' for "hardclock ticks". I believe this
would help auditing the possible existing and/or future conditions
leading to overflow.
As a bonus this diff removes all the "extern hcticks;" declaration and
include <sys/kernel.h> instead.
Opinions?
PS: I missed 4 conversions in my previous diff, can you find them?
diff --git sys/dev/atapiscsi/atapiscsi.c sys/dev/atapiscsi/atapiscsi.c
index df5c45b..be164ea 100644
--- sys/dev/atapiscsi/atapiscsi.c
+++ sys/dev/atapiscsi/atapiscsi.c
@@ -613,7 +613,6 @@ wdc_atapi_the_machine(struct channel_softc *chp, struct
wdc_xfer *xfer,
enum atapi_context ctxt)
{
int idx = 0;
- extern int ticks;
int timeout_delay = hz / 10;
if (xfer->c_flags & C_POLL) {
@@ -637,7 +636,7 @@ wdc_atapi_the_machine(struct channel_softc *chp, struct
wdc_xfer *xfer,
struct atapi_return_args retargs = ARGS_INIT;
(xfer->next)(chp, xfer,
- xfer->endticks && (ticks - xfer->endticks >= 0),
+ xfer->endticks && (hcticks - xfer->endticks >= 0),
&retargs);
if (retargs.timeout != -1)
@@ -646,7 +645,7 @@ wdc_atapi_the_machine(struct channel_softc *chp, struct
wdc_xfer *xfer,
* can be just microseconds before the tick changes.
*/
xfer->endticks =
- max((retargs.timeout * hz) / 1000, 1) + 1 + ticks;
+ max((retargs.timeout * hz) / 1000, 1) + 1 + hcticks;
if (xfer->next == NULL) {
if (xfer->c_flags & C_POLL_MACHINE)
@@ -661,7 +660,7 @@ wdc_atapi_the_machine(struct channel_softc *chp, struct
wdc_xfer *xfer,
if (retargs.expect_irq) {
int timeout_period;
chp->ch_flags |= WDCF_IRQ_WAIT;
- timeout_period = xfer->endticks - ticks;
+ timeout_period = xfer->endticks - hcticks;
if (timeout_period < 1)
timeout_period = 1;
timeout_add(&chp->ch_timo, timeout_period);
diff --git sys/dev/ic/ar5008.c sys/dev/ic/ar5008.c
index d3ad6c9..fa1c1e9 100644
--- sys/dev/ic/ar5008.c
+++ sys/dev/ic/ar5008.c
@@ -2381,8 +2381,7 @@ ar5008_hw_init(struct athn_softc *sc, struct
ieee80211_channel *c,
ar5008_init_chains(sc);
if (sc->flags & ATHN_FLAG_OLPC) {
- extern int ticks;
- sc->olpc_ticks = ticks;
+ sc->olpc_ticks = hcticks;
ops->olpc_init(sc);
}
diff --git sys/dev/ic/athn.c sys/dev/ic/athn.c
index 03460ef..df2b9b1 100644
--- sys/dev/ic/athn.c
+++ sys/dev/ic/athn.c
@@ -1218,7 +1218,6 @@ athn_iter_func(void *arg, struct ieee80211_node *ni)
void
athn_calib_to(void *arg)
{
- extern int ticks;
struct athn_softc *sc = arg;
struct athn_ops *ops = &sc->ops;
struct ieee80211com *ic = &sc->sc_ic;
@@ -1229,8 +1228,8 @@ athn_calib_to(void *arg)
/* Do periodic (every 4 minutes) PA calibration. */
if (AR_SREV_9285_11_OR_LATER(sc) &&
!AR_SREV_9380_10_OR_LATER(sc) &&
- (ticks - (sc->pa_calib_ticks + 240 * hz)) >= 0) {
- sc->pa_calib_ticks = ticks;
+ (hcticks - (sc->pa_calib_ticks + 240 * hz)) >= 0) {
+ sc->pa_calib_ticks = hcticks;
if (AR_SREV_9271(sc))
ar9271_pa_calib(sc);
else
@@ -1239,8 +1238,8 @@ athn_calib_to(void *arg)
/* Do periodic (every 30 seconds) temperature compensation. */
if ((sc->flags & ATHN_FLAG_OLPC) &&
- ticks >= sc->olpc_ticks + 30 * hz) {
- sc->olpc_ticks = ticks;
+ hcticks >= sc->olpc_ticks + 30 * hz) {
+ sc->olpc_ticks = hcticks;
ops->olpc_temp_compensation(sc);
}
@@ -1279,8 +1278,7 @@ athn_init_calib(struct athn_softc *sc, struct
ieee80211_channel *c,
if (!AR_SREV_9380_10_OR_LATER(sc)) {
/* Do PA calibration. */
if (AR_SREV_9285_11_OR_LATER(sc)) {
- extern int ticks;
- sc->pa_calib_ticks = ticks;
+ sc->pa_calib_ticks = hcticks;
if (AR_SREV_9271(sc))
ar9271_pa_calib(sc);
else
diff --git sys/dev/ic/bwi.c sys/dev/ic/bwi.c
index d612db3..7514e29 100644
--- sys/dev/ic/bwi.c
+++ sys/dev/ic/bwi.c
@@ -97,8 +97,6 @@ int bwi_debug = 1;
#define __unused __attribute__((__unused__))
-extern int ticks;
-
/* XXX end porting goop */
/* MAC */
@@ -6509,11 +6507,11 @@ bwi_led_event(struct bwi_softc *sc, int event)
if (event == BWI_LED_EVENT_POLL) {
if ((led->l_flags & BWI_LED_F_POLLABLE) == 0)
return;
- if (ticks - sc->sc_led_ticks < sc->sc_led_idle)
+ if (hcticks - sc->sc_led_ticks < sc->sc_led_idle)
return;
}
- sc->sc_led_ticks = ticks;
+ sc->sc_led_ticks = hcticks;
if (sc->sc_led_blinking)
return;
diff --git sys/dev/pci/drm/drmP.h sys/dev/pci/drm/drmP.h
index 4cff951..206c6a0 100644
--- sys/dev/pci/drm/drmP.h
+++ sys/dev/pci/drm/drmP.h
@@ -92,8 +92,6 @@
#define DRM_WAKEUP(x) wakeup(x)
-extern int ticks;
-
#define drm_msleep(x) mdelay(x)
extern struct cfdriver drm_cd;
diff --git sys/dev/pci/drm/drm_linux.h sys/dev/pci/drm/drm_linux.h
index 0e651ba..90e5975 100644
--- sys/dev/pci/drm/drm_linux.h
+++ sys/dev/pci/drm/drm_linux.h
@@ -17,6 +17,7 @@
#include <sys/atomic.h>
#include <sys/task.h>
+#include <sys/kernel.h>
typedef int irqreturn_t;
#define IRQ_NONE 0
@@ -321,9 +322,9 @@ do { \
atomic_inc_int(&(wq).count); \
sleep_setup(&sls, &wq, 0, "drmwet"); \
sleep_setup_timeout(&sls, ret); \
- deadline = ticks + ret; \
+ deadline = hcticks + ret; \
sleep_finish(&sls, !(condition)); \
- ret = deadline - ticks; \
+ ret = deadline - hcticks; \
__error = sleep_finish_timeout(&sls); \
atomic_dec_int(&(wq).count); \
if (ret < 0 || __error == EWOULDBLOCK) \
@@ -351,9 +352,9 @@ do { \
sleep_setup(&sls, &wq, PCATCH, "drmweti"); \
sleep_setup_timeout(&sls, ret); \
sleep_setup_signal(&sls, PCATCH); \
- deadline = ticks + ret; \
+ deadline = hcticks + ret; \
sleep_finish(&sls, !(condition)); \
- ret = deadline - ticks; \
+ ret = deadline - hcticks; \
__error1 = sleep_finish_timeout(&sls); \
__error = sleep_finish_signal(&sls); \
atomic_dec_int(&(wq).count); \
@@ -565,8 +566,7 @@ timespec_sub(struct timespec t1, struct timespec t2)
#define time_in_range(x, min, max) ((x) >= (min) && (x) <= (max))
-extern int ticks;
-#define jiffies ticks
+#define jiffies hcticks
#undef HZ
#define HZ hz
diff --git sys/dev/usb/if_cdcef.c sys/dev/usb/if_cdcef.c
index 5496d9c..8b8d195 100644
--- sys/dev/usb/if_cdcef.c
+++ sys/dev/usb/if_cdcef.c
@@ -25,6 +25,7 @@
#include <sys/param.h>
+#include <sys/kernel.h>
#include <sys/device.h>
#include <sys/socket.h>
#include <sys/systm.h>
@@ -121,8 +122,6 @@ struct usbf_function_methods cdcef_methods = {
#define DEVNAME(sc) ((sc)->sc_dev.bdev.dv_xname)
-extern int ticks;
-
/*
* USB function match/attach/detach
*/
@@ -239,7 +238,7 @@ cdcef_attach(struct device *parent, struct device *self,
void *aux)
macaddr_hi = htons(0x2acb);
bcopy(&macaddr_hi, &sc->sc_arpcom.ac_enaddr[0], sizeof(u_int16_t));
- bcopy(&ticks, &sc->sc_arpcom.ac_enaddr[2], sizeof(u_int32_t));
+ bcopy(&hcticks, &sc->sc_arpcom.ac_enaddr[2], sizeof(u_int32_t));
sc->sc_arpcom.ac_enaddr[5] = (u_int8_t)(sc->sc_dev.bdev.dv_unit);
printf(": address %s\n", ether_sprintf(sc->sc_arpcom.ac_enaddr));
diff --git sys/dev/usb/if_ugl.c sys/dev/usb/if_ugl.c
index ba8490b..b76e019 100644
--- sys/dev/usb/if_ugl.c
+++ sys/dev/usb/if_ugl.c
@@ -54,6 +54,7 @@
#include <bpfilter.h>
#include <sys/param.h>
+#include <sys/kernel.h>
#include <sys/systm.h>
#include <sys/timeout.h>
#include <sys/sockio.h>
@@ -152,8 +153,6 @@ int ugldebug = 0;
#define DPRINTFN(n,x)
#endif
-extern int ticks;
-
/*
* Various supported device vendors/products.
*/
@@ -253,7 +252,7 @@ ugl_attach(struct device *parent, struct device *self, void
*aux)
macaddr_hi = htons(0x2acb);
bcopy(&macaddr_hi, &sc->sc_arpcom.ac_enaddr[0], sizeof(u_int16_t));
- bcopy(&ticks, &sc->sc_arpcom.ac_enaddr[2], sizeof(u_int32_t));
+ bcopy(&hcticks, &sc->sc_arpcom.ac_enaddr[2], sizeof(u_int32_t));
sc->sc_arpcom.ac_enaddr[5] = (u_int8_t)(sc->sc_dev.dv_unit);
printf("%s: address %s\n",
diff --git sys/kern/kern_clock.c sys/kern/kern_clock.c
index adaaab0..b382330 100644
--- sys/kern/kern_clock.c
+++ sys/kern/kern_clock.c
@@ -97,7 +97,7 @@ int stathz;
int schedhz;
int profhz;
int profprocs;
-int ticks;
+int hcticks; /* # of hardclock ticks */
static int psdiv, pscnt; /* prof => stat divider */
int psratio; /* ratio: prof / stat */
diff --git sys/kern/kern_timeout.c sys/kern/kern_timeout.c
index c888cb3..6cc6c9c 100644
--- sys/kern/kern_timeout.c
+++ sys/kern/kern_timeout.c
@@ -42,8 +42,8 @@
/*
* Timeouts are kept in a hierarchical timing wheel. The to_time is the value
- * of the global variable "ticks" when the timeout should be called. There are
- * four levels with 256 buckets each. See 'Scheme 7' in
+ * of the global variable "hcticks" when the timeout should be called. There
+ * are four levels with 256 buckets each. See 'Scheme 7' in
* "Hashed and Hierarchical Timing Wheels: Efficient Data Structures for
* Implementing a Timer Facility" by George Varghese and Tony Lauck.
*/
@@ -137,7 +137,7 @@ struct mutex timeout_mutex = MUTEX_INITIALIZER(IPL_HIGH);
* be positive or negative so comparing it with anything is dangerous.
* The only way we can use the to->to_time value in any predictable way
* is when we calculate how far in the future `to' will timeout -
- * "to->to_time - ticks". The result will always be positive for future
+ * "to->to_time - hcticks". The result will always be positive for future
* timeouts and 0 or negative for due timeouts.
*/
@@ -176,7 +176,7 @@ timeout_add(struct timeout *new, int to_ticks)
mtx_enter(&timeout_mutex);
/* Initialize the time here, it won't change. */
old_time = new->to_time;
- new->to_time = to_ticks + ticks;
+ new->to_time = to_ticks + hcticks;
new->to_flags &= ~TIMEOUT_TRIGGERED;
/*
@@ -185,7 +185,7 @@ timeout_add(struct timeout *new, int to_ticks)
* and let it be rescheduled later.
*/
if (new->to_flags & TIMEOUT_ONQUEUE) {
- if (new->to_time - ticks < old_time - ticks) {
+ if (new->to_time - hcticks < old_time - hcticks) {
CIRCQ_REMOVE(&new->to_list);
CIRCQ_INSERT(&new->to_list, &timeout_todo);
}
@@ -304,15 +304,15 @@ timeout_hardclock_update(void)
mtx_enter(&timeout_mutex);
- ticks++;
+ hcticks++;
- MOVEBUCKET(0, ticks);
- if (MASKWHEEL(0, ticks) == 0) {
- MOVEBUCKET(1, ticks);
- if (MASKWHEEL(1, ticks) == 0) {
- MOVEBUCKET(2, ticks);
- if (MASKWHEEL(2, ticks) == 0)
- MOVEBUCKET(3, ticks);
+ MOVEBUCKET(0, hcticks);
+ if (MASKWHEEL(0, hcticks) == 0) {
+ MOVEBUCKET(1, hcticks);
+ if (MASKWHEEL(1, hcticks) == 0) {
+ MOVEBUCKET(2, hcticks);
+ if (MASKWHEEL(2, hcticks) == 0)
+ MOVEBUCKET(3, hcticks);
}
}
ret = !CIRCQ_EMPTY(&timeout_todo);
@@ -333,14 +333,14 @@ softclock(void *arg)
CIRCQ_REMOVE(&to->to_list);
/* If due run it, otherwise insert it into the right bucket. */
- if (to->to_time - ticks > 0) {
+ if (to->to_time - hcticks > 0) {
CIRCQ_INSERT(&to->to_list,
- &BUCKET((to->to_time - ticks), to->to_time));
+ &BUCKET((to->to_time - hcticks), to->to_time));
} else {
#ifdef DEBUG
- if (to->to_time - ticks < 0)
+ if (to->to_time - hcticks < 0)
printf("timeout delayed %d\n", to->to_time -
- ticks);
+ hcticks);
#endif
to->to_flags &= ~TIMEOUT_ONQUEUE;
to->to_flags |= TIMEOUT_TRIGGERED;
@@ -369,7 +369,7 @@ timeout_adjust_ticks(int adj)
return;
mtx_enter(&timeout_mutex);
- new_ticks = ticks + adj;
+ new_ticks = hcticks + adj;
for (b = 0; b < nitems(timeout_wheel); b++) {
p = CIRCQ_FIRST(&timeout_wheel[b]);
while (p != &timeout_wheel[b]) {
@@ -377,13 +377,13 @@ timeout_adjust_ticks(int adj)
p = CIRCQ_FIRST(p);
/* when moving a timeout forward need to reinsert it */
- if (to->to_time - ticks < adj)
+ if (to->to_time - hcticks < adj)
to->to_time = new_ticks;
CIRCQ_REMOVE(&to->to_list);
CIRCQ_INSERT(&to->to_list, &timeout_todo);
}
}
- ticks = new_ticks;
+ hcticks = new_ticks;
mtx_leave(&timeout_mutex);
}
#endif
@@ -403,7 +403,7 @@ db_show_callout_bucket(struct circq *bucket)
to = timeout_from_circq(p);
db_find_sym_and_offset((db_addr_t)to->to_func, &name, &offset);
name = name ? name : "?";
- db_printf("%9d %2td/%-4td %p %s\n", to->to_time - ticks,
+ db_printf("%9d %2td/%-4td %p %s\n", to->to_time - hcticks,
(bucket - timeout_wheel) / WHEELSIZE,
bucket - timeout_wheel, to->to_arg, name);
}
@@ -414,8 +414,8 @@ db_show_callout(db_expr_t addr, int haddr, db_expr_t count,
char *modif)
{
int b;
- db_printf("ticks now: %d\n", ticks);
- db_printf(" ticks wheel arg func\n");
+ db_printf("hcticks now: %d\n", hcticks);
+ db_printf(" hcticks wheel arg func\n");
db_show_callout_bucket(&timeout_todo);
for (b = 0; b < nitems(timeout_wheel); b++)
diff --git sys/kern/subr_pool.c sys/kern/subr_pool.c
index 043cc8b..b75f3ad 100644
--- sys/kern/subr_pool.c
+++ sys/kern/subr_pool.c
@@ -682,7 +682,7 @@ pool_put(struct pool *pp, void *v)
*/
pp->pr_nidle++;
- ph->ph_tick = ticks;
+ ph->ph_tick = hcticks;
TAILQ_REMOVE(&pp->pr_partpages, ph, ph_pagelist);
TAILQ_INSERT_TAIL(&pp->pr_emptypages, ph, ph_pagelist);
pool_update_curpage(pp);
@@ -694,7 +694,7 @@ pool_put(struct pool *pp, void *v)
/* is it time to free a page? */
if (pp->pr_nidle > pp->pr_maxpages &&
(ph = TAILQ_FIRST(&pp->pr_emptypages)) != NULL &&
- (ticks - ph->ph_tick) > (hz * pool_wait_free)) {
+ (hcticks - ph->ph_tick) > (hz * pool_wait_free)) {
freeph = ph;
pool_p_remove(pp, freeph);
}
@@ -1379,7 +1379,7 @@ pool_gc_pages(void *null)
/* is it time to free a page? */
if (pp->pr_nidle > pp->pr_minpages &&
(ph = TAILQ_FIRST(&pp->pr_emptypages)) != NULL &&
- (ticks - ph->ph_tick) > (hz * pool_wait_gc)) {
+ (hcticks - ph->ph_tick) > (hz * pool_wait_gc)) {
freeph = ph;
pool_p_remove(pp, freeph);
} else
diff --git sys/net/bpf.c sys/net/bpf.c
index e7a038e..a9afab6 100644
--- sys/net/bpf.c
+++ sys/net/bpf.c
@@ -41,6 +41,7 @@
#include "bpfilter.h"
#include <sys/param.h>
+#include <sys/kernel.h>
#include <sys/systm.h>
#include <sys/mbuf.h>
#include <sys/proc.h>
@@ -73,9 +74,6 @@
#define PRINET 26 /* interruptible */
-/* from kern/kern_clock.c; incremented each clock tick. */
-extern int ticks;
-
/*
* The default read buffer size is patchable.
*/
@@ -411,7 +409,7 @@ bpfread(dev_t dev, struct uio *uio, int ioflag)
* we can then figure out when we're done reading.
*/
if (d->bd_rtout != -1 && d->bd_rdStart == 0)
- d->bd_rdStart = ticks;
+ d->bd_rdStart = hcticks;
else
d->bd_rdStart = 0;
@@ -444,7 +442,7 @@ bpfread(dev_t dev, struct uio *uio, int ioflag)
/* User requested non-blocking I/O */
error = EWOULDBLOCK;
} else {
- if ((d->bd_rdStart + d->bd_rtout) < ticks) {
+ if ((d->bd_rdStart + d->bd_rtout) < hcticks) {
error = tsleep((caddr_t)d, PRINET|PCATCH, "bpf",
d->bd_rtout);
} else
@@ -1065,7 +1063,7 @@ bpfpoll(dev_t dev, int events, struct proc *p)
* started waiting.
*/
if (d->bd_rtout != -1 && d->bd_rdStart == 0)
- d->bd_rdStart = ticks;
+ d->bd_rdStart = hcticks;
selrecord(p, &d->bd_sel);
}
splx(s);
@@ -1099,7 +1097,7 @@ bpfkqfilter(dev_t dev, struct knote *kn)
D_GET(d);
SLIST_INSERT_HEAD(klist, kn, kn_selnext);
if (d->bd_rtout != -1 && d->bd_rdStart == 0)
- d->bd_rdStart = ticks;
+ d->bd_rdStart = hcticks;
splx(s);
return (0);
@@ -1442,7 +1440,7 @@ bpf_catchpacket(struct bpf_d *d, u_char *pkt, size_t
pktlen, size_t snaplen,
bpf_wakeup(d);
}
- if (d->bd_rdStart && (d->bd_rtout + d->bd_rdStart < ticks)) {
+ if (d->bd_rdStart && (d->bd_rtout + d->bd_rdStart < hcticks)) {
/*
* we could be selecting on the bpf, and we
* may have timeouts set. We got here by getting
diff --git sys/net/if.c sys/net/if.c
index fbe239d..907912f 100644
--- sys/net/if.c
+++ sys/net/if.c
@@ -1121,20 +1121,17 @@ if_clone_list(struct if_clonereq *ifcr)
void
if_congestion(void)
{
- extern int ticks;
-
- ifq_congestion = ticks;
+ ifq_congestion = hcticks;
}
int
if_congested(void)
{
- extern int ticks;
int diff;
- diff = ticks - ifq_congestion;
+ diff = hcticks - ifq_congestion;
if (diff < 0) {
- ifq_congestion = ticks - hz;
+ ifq_congestion = hcticks - hz;
return (0);
}
@@ -2551,12 +2548,10 @@ u_int net_livelocks;
void
net_tick(void *null)
{
- extern int ticks;
-
- if (ticks - net_ticks > 1)
+ if (hcticks - net_ticks > 1)
net_livelocks++;
- net_ticks = ticks;
+ net_ticks = hcticks;
timeout_add(&net_tick_to, 1);
}
@@ -2564,19 +2559,15 @@ net_tick(void *null)
int
net_livelocked(void)
{
- extern int ticks;
-
- return (ticks - net_ticks > 1);
+ return (hcticks - net_ticks > 1);
}
void
if_rxr_init(struct if_rxring *rxr, u_int lwm, u_int hwm)
{
- extern int ticks;
-
memset(rxr, 0, sizeof(*rxr));
- rxr->rxr_adjusted = ticks;
+ rxr->rxr_adjusted = hcticks;
rxr->rxr_cwm = rxr->rxr_lwm = lwm;
rxr->rxr_hwm = hwm;
}
@@ -2584,8 +2575,6 @@ if_rxr_init(struct if_rxring *rxr, u_int lwm, u_int hwm)
static inline void
if_rxr_adjust_cwm(struct if_rxring *rxr)
{
- extern int ticks;
-
if (net_livelocked()) {
if (rxr->rxr_cwm > rxr->rxr_lwm)
rxr->rxr_cwm--;
@@ -2596,16 +2585,15 @@ if_rxr_adjust_cwm(struct if_rxring *rxr)
else if (rxr->rxr_cwm < rxr->rxr_hwm)
rxr->rxr_cwm++;
- rxr->rxr_adjusted = ticks;
+ rxr->rxr_adjusted = hcticks;
}
u_int
if_rxr_get(struct if_rxring *rxr, u_int max)
{
- extern int ticks;
u_int diff;
- if (ticks - rxr->rxr_adjusted >= 1) {
+ if (hcticks - rxr->rxr_adjusted >= 1) {
/* we're free to try for an adjustment */
if_rxr_adjust_cwm(rxr);
}
diff --git sys/net80211/ieee80211_crypto_tkip.c
sys/net80211/ieee80211_crypto_tkip.c
index 20b84f1..e19cbfa 100644
--- sys/net80211/ieee80211_crypto_tkip.c
+++ sys/net80211/ieee80211_crypto_tkip.c
@@ -23,6 +23,7 @@
#include <sys/param.h>
#include <sys/systm.h>
+#include <sys/kernel.h>
#include <sys/mbuf.h>
#include <sys/malloc.h>
#include <sys/kernel.h>
@@ -499,8 +500,6 @@ ieee80211_tkip_deauth(void *arg, struct ieee80211_node *ni)
void
ieee80211_michael_mic_failure(struct ieee80211com *ic, u_int64_t tsc)
{
- extern int ticks;
-
if (ic->ic_flags & IEEE80211_F_COUNTERM)
return; /* countermeasures already active */
@@ -518,8 +517,8 @@ ieee80211_michael_mic_failure(struct ieee80211com *ic,
u_int64_t tsc)
* seconds have passed since the most recent previous MIC failure.
*/
if (ic->ic_tkip_micfail == 0 ||
- ticks - (ic->ic_tkip_micfail + 60 * hz) >= 0) {
- ic->ic_tkip_micfail = ticks;
+ hcticks - (ic->ic_tkip_micfail + 60 * hz) >= 0) {
+ ic->ic_tkip_micfail = hcticks;
ic->ic_tkip_micfail_last_tsc = tsc;
return;
}
@@ -558,7 +557,7 @@ ieee80211_michael_mic_failure(struct ieee80211com *ic,
u_int64_t tsc)
break;
}
- ic->ic_tkip_micfail = ticks;
+ ic->ic_tkip_micfail = hcticks;
ic->ic_tkip_micfail_last_tsc = tsc;
}
diff --git sys/sys/kernel.h sys/sys/kernel.h
index 0aa5bab..79dd89b 100644
--- sys/sys/kernel.h
+++ sys/sys/kernel.h
@@ -54,7 +54,7 @@ extern int tick; /* usec per tick (1000000 / hz)
*/
extern int tickfix; /* periodic tick adj. tick not integral */
extern int tickfixinterval; /* interval at which to apply adjustment */
extern int tickadj; /* "standard" clock skew, us./tick */
-extern int ticks; /* # of hardclock ticks */
+extern int hcticks; /* # of hardclock ticks */
extern int hz; /* system clock's frequency */
extern int stathz; /* statistics clock's frequency */
extern int profhz; /* profiling clock's frequency */
diff --git sys/sys/timeout.h sys/sys/timeout.h
index 8f25af1..3f14f20 100644
--- sys/sys/timeout.h
+++ sys/sys/timeout.h
@@ -39,7 +39,7 @@
* Initializes a timeout struct to call the function with the argument.
* A timeout only needs to be initialized once.
* - timeout_add(timeout, ticks)
- * Schedule this timeout to run in "ticks" ticks (there are hz ticks in
+ * Schedule this timeout to run in "hcticks" ticks (there are hz ticks in
* one second). You may not touch the timeout with timeout_set once the
* timeout is scheduled. A second call to timeout_add with an already
* scheduled timeout will cause the old timeout to be canceled and the