From owner-freebsd-hackers Tue Aug 7 9:30:59 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from elvis.mu.org (elvis.mu.org [216.33.66.196]) by hub.freebsd.org (Postfix) with ESMTP id 94DAD37B40A for ; Tue, 7 Aug 2001 09:30:52 -0700 (PDT) (envelope-from bright@elvis.mu.org) Received: by elvis.mu.org (Postfix, from userid 1192) id 6A73881D0A; Tue, 7 Aug 2001 11:30:52 -0500 (CDT) Date: Tue, 7 Aug 2001 11:30:52 -0500 From: Alfred Perlstein To: Weiguang SHI Cc: jeff@expertcity.com, freebsd-hackers@freebsd.org Subject: Re: timing question Message-ID: <20010807113052.S85642@elvis.mu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from weiguang_shi@hotmail.com on Tue, Aug 07, 2001 at 10:11:11AM -0600 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG * Weiguang SHI [010807 11:11] wrote: > > > > >From: Alfred Perlstein > >To: Jeff Behl > >CC: "'freebsd-hackers@freebsd.org'" > >Subject: Re: timing question > >Date: Mon, 6 Aug 2001 14:49:55 -0500 > > > >* Jeff Behl [010806 12:48] wrote: > > > please excuse and direct me to the right place if this isn't the > >appropriate > > > place to post this sort of question.... > > > > > > we're looking into moving to freebsd (yea!), but found the following > > > problem. It seems that the shortest amount of time the below code will > > > sleep for is 20 seconds! any call to nanosleep for 5,10, etc > >miliseconds > > > returns a 20 ms delay. are we doing something wrong? > > > >You may have to increase the kernel value for HZ so that you get > >more fine grained clock interrupts. > > I didn't look at the code but if increasing the value of 'hz' will > result in more clock-interrupts/sec thus more overhead, wouldn't it be > better to auto-adjust the clock-interrupt rate somewhere in the OS > to clock-interrupt at big strides in the beginning but at > finer-grained interval as the actual timeout event approaches? Yes, but that's not trivial, several places in the kernel call tsleep(9) with a timeout value of "5 * hz" to mean 5 seconds, those places would probably have to be fixed up or something done not to prematurely trigger them waking up. I guess the clock code could realize it's in an accelerated state and not update the variables that could cause problems, basically only look for people who need the higher resolution interrupts. "got diffs" ? :) -- -Alfred Perlstein [alfred@freebsd.org] Ok, who wrote this damn function called '??'? And why do my programs keep crashing in it? To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message