diff options
author | ian <ian@FreeBSD.org> | 2014-10-04 15:59:15 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2014-10-04 15:59:15 +0000 |
commit | e35c0ad650d6714add810f7245b92c3af0f00159 (patch) | |
tree | cfe31fbad1617288c93a4ebbc3dfc895f0878078 /sys/sys/event.h | |
parent | 60bf73506ecd9b277bfeb5eaa63fa80715d98698 (diff) | |
download | FreeBSD-src-e35c0ad650d6714add810f7245b92c3af0f00159.zip FreeBSD-src-e35c0ad650d6714add810f7245b92c3af0f00159.tar.gz |
Make kevent(2) periodic timer events more reliably periodic. The event
callout is now scheduled using the C_ABSOLUTE flag, and the absolute time
of each event is calculated as the time the previous event was scheduled
for plus the interval. This ensures that latency in processing a given
event doesn't perturb the arrival time of any subsequent events.
Reviewed by: jhb
Diffstat (limited to 'sys/sys/event.h')
-rw-r--r-- | sys/sys/event.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/sys/event.h b/sys/sys/event.h index 47ebd76..c712f76 100644 --- a/sys/sys/event.h +++ b/sys/sys/event.h @@ -221,6 +221,7 @@ struct knote { struct proc *p_proc; /* proc pointer */ struct aiocblist *p_aio; /* AIO job pointer */ struct aioliojob *p_lio; /* LIO job pointer */ + sbintime_t *p_nexttime; /* next timer event fires at */ void *p_v; /* generic other pointer */ } kn_ptr; struct filterops *kn_fop; |