Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!decwrl!asylum!osc!jgk From: jgk@osc.COM (Joe Keane) Newsgroups: comp.arch Subject: Re: Timers Message-ID: <3760@osc.COM> Date: 6 Sep 90 01:58:06 GMT References: <5539@darkstar.ucsc.edu> <13285@yunexus.YorkU.CA> <30728@super.ORG> <26012@bellcore.bellcore.com> <11187@alice.UUCP> <1990Aug23.022416.14798@sco.COM> <26196@bellcore.bellcore.com> <10383@pt.cs.cmu.edu> Reply-To: jgk@osc.UUCP (Joe Keane) Organization: Versant Object Technology, Menlo Park, CA Lines: 17 In article <10383@pt.cs.cmu.edu> lindsay@MATHOM.GANDALF.CS.CMU.EDU (Donald Lindsay) writes: >But are we out of the woods? No: if we code something like > > NextTime = ...the minimum of some set of times...; > DownCountRegister = NextTime - TOE_Register; > >then we still get schedule creep. I don't follow you here. Whether or not we get schedule creep depends only on how we compute NextTime, which is an absolute time value. As long as this is computed from the last desired NextTime, and not from when the last interrupt was actually handled, we should be OK. There is some error in setting DownCountRegister, but it does not accumulate. The same issue comes up with the Unix select system call. It takes a time interval as a parameter, while i think it should take an absolute time.