From owner-freebsd-current Wed Sep 24 17:17:46 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id RAA10052 for current-outgoing; Wed, 24 Sep 1997 17:17:46 -0700 (PDT) Received: from usr03.primenet.com (tlambert@usr03.primenet.com [206.165.6.203]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id RAA10047 for ; Wed, 24 Sep 1997 17:17:45 -0700 (PDT) Received: (from tlambert@localhost) by usr03.primenet.com (8.8.5/8.8.5) id RAA02618; Wed, 24 Sep 1997 17:17:28 -0700 (MST) From: Terry Lambert Message-Id: <199709250017.RAA02618@usr03.primenet.com> Subject: Re: new timeout routines To: nate@mt.sri.com (Nate Williams) Date: Thu, 25 Sep 1997 00:17:27 +0000 (GMT) Cc: tlambert@primenet.com, nate@mt.sri.com, julian@whistle.com, gibbs@plutotech.com, bde@zeta.org.au, current@freebsd.org In-Reply-To: <199709241523.JAA12165@rocky.mt.sri.com> from "Nate Williams" at Sep 24, 97 09:23:14 am X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-freebsd-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > > Untimeout this particular timeout without traversing the whole list > > of possible timeouts. > > Build a hash list that uses the (fn, args) parameter at timeout time > (which is what the result of the cookie is), and then get to the timeout > via hashing back on this with untimeout(fn, args). No need for the > drivers to hold onto the cookie, since you have all the necessary > information. Which bucket is an 8 tick timeout in? It's going to be in the current bucket or any one of the 7 following it, depending on how many sofclocks have happenend since the queue. That's still potentially a lot of entries to look at. Besides, O(1) removal has merit independent of the other arguments; I'd want a cookie if I was doing something where I expected it to be removed (like writing a CAM layer 8-)). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.