Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 May 2003 13:49:39 +1000 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Poul-Henning Kamp <phk@phk.freebsd.dk>
Cc:        current@freebsd.org
Subject:   Re: Interrupt latency problems 
Message-ID:  <20030511133513.T74110@gamplex.bde.org>
In-Reply-To: <22333.1052574519@critter.freebsd.dk>
References:  <22333.1052574519@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 10 May 2003, Poul-Henning Kamp wrote:

> In message <1052570246.27195.6.camel@cf.freebsd-services.com>, Paul Richards wr
> ites:
> >I'm having real problems with current with heavy disk activity.
> >
> >When working in X and updating ports which causes a lot of disk activity
> >I get *very* poor interactive responses. Keypresses can not appear for
> >seconds and mouse movement is very jerky and unresponsive.
> >
> >I'm wondering if something is holding locks a long time in interrupt
> >handlers and causing mouse/keyboard interrupts to be lost?
>
> We have this lock called "Giant" which we're trying to get rid off...

Giant shouldn't cause such enormous latency as several seconds.  Most
likely, something _outside_ of interrupt handlers is holding Giant for
too long.  Interrupt handlers are more aware that they shouldn't run
for too long, while code running outside of interrupt handlers was
mostly written under the assumption that it can run for as long as
necessary to do whater it is asked to do.

At least on i386's, all interrupts are latched by the lowest levels of
the interrupt handling code, so it is almost impossible to lose one
completely.  Events that the interrupts signal may be lost, depending
on how much buffering the interrupting device has.

Bruce



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