From owner-freebsd-hackers Sun Sep 22 21:01:41 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id VAA21722 for hackers-outgoing; Sun, 22 Sep 1996 21:01:41 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id VAA21655 for ; Sun, 22 Sep 1996 21:01:32 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.7.6/8.6.9) id NAA03404; Mon, 23 Sep 1996 13:54:40 +1000 Date: Mon, 23 Sep 1996 13:54:40 +1000 From: Bruce Evans Message-Id: <199609230354.NAA03404@godzilla.zeta.org.au> To: msmith@atrad.adelaide.edu.au, terry@lambert.org Subject: Re: splash-page on bootup.. Cc: brandon@glacier.cold.org, freebsd-hackers@FreeBSD.org, jgreco@brasil.moneng.mei.com Sender: owner-hackers@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk >> This is only because we are stupid and use DELAY() instead of a >> calibrated timer list of one-shot outcall functions. Using a >> spinloop is just inherently stupid. > >Uh? You are still thinking like a CS guy, not a hardware programmer. > >When I am looking for some hardware in a probe routine, I want _nothing_ >_nada_ _zip_ happening behind my back. No interrupts, no "strategically >placed callbacks", nothing. > >This has nothing to do with how DELAY() works, it's basic 'least surprise' >stuff. Yes, DELAY() works like it does because it must work at probe time before timer interrupts are enabled. DELAY() shouldn't be used at other times except for very short delays (short = about the same time as it takes to initialize a one-shot timer and service a one-shot timer interrupt (10-50 usec). OTOH, probes in lkm'ed drivers can timer expect interrupts to work, and shouldn't use DELAY() or otherwise hog the cpu any more than the driver would for normal operations. Bruce