Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Dec 1998 15:03:33 -0800
From:      Mike Smith <mike@smith.net.au>
To:        zhihuizhang <bf20761@binghamton.edu>
Cc:        hackers <freebsd-hackers@FreeBSD.ORG>
Subject:   Re: Questions about interrupt handling 
Message-ID:  <199812282303.PAA13425@dingo.cdrom.com>
In-Reply-To: Your message of "Sat, 26 Dec 1998 23:24:54 EST." <Pine.SOL.L3.93.981226220445.11330A-100000@bingsun2> 

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> I know that FreeBSD handles interrupts on a software basis which means
> that we do not mask any interrupt off in 8259.  I am just wondering if a
> certain interrupt is masked off in 8259 or it does not get serviced quick
> enough, what will the device controller (such as disk controller) respond?
> Will it re-issue the interrupt or just give up?  Or will it NOT generate
> another interrupt until the previous one has been serviced? Maybe
> different device controllers behave differently.

Devices do tend to behave differently, but as a general rule no, a 
device will not generate another interrupt until the first has been 
serviced.

Typical exceptions to this are vertical retrace and clock interrupts.

This is why most decent device drivers also have a slow timeout routine 
which checks the hardware for status which would indicate a lost 
interrupt, and if found, calls the interrupt handler.

-- 
\\  Sometimes you're ahead,       \\  Mike Smith
\\  sometimes you're behind.      \\  mike@smith.net.au
\\  The race is long, and in the  \\  msmith@freebsd.org
\\  end it's only with yourself.  \\  msmith@cdrom.com



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812282303.PAA13425>