Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Feb 1999 16:43:12 +0100 (MET)
From:      Luigi Rizzo <luigi@labinfo.iet.unipi.it>
To:        Emmanuel.Duros@sophia.inria.fr (Emmanuel Duros)
Cc:        dennis@etinc.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: writing network device driver - pb with interrupt levels
Message-ID:  <199902031543.QAA00893@labinfo.iet.unipi.it>
In-Reply-To: <199902031722.SAA11377@chouette.inria.fr> from "Emmanuel Duros" at Feb 3, 99 06:21:48 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> The transmission rate is constant at 2Mbps and the fifo is 4 Kb.  I did
> add the flag 0xe0ffe0ff to the IDE controller but I still get
> losses. However, results are better with this configuration.
> 
> After some investigation, I notice that when I get losses (= fifo gets
> completly filled with incoming traffic), two consecutive interrupts
> generated by the card are processed with an interval of 200 to 700
> millisecondes -> meanwhile the fifo runs quickly out of space.

200 to 700ms for an IDE transfer are a very long time.
Does this happen on reading or writing to the disk ? It could be a
symptom of the IDE driver doing something wrong e.g. not lowering the
interrupt level between consecutive transfers.

Also i am bit confused on this but i think there are two phases on
processing interrupts -- the first one is when the hw interrupt is
generated, it calls a small stub routine which runs above any soft
interrupt level and posts posts an 'interrupt pending' signal. Then
the latter is processed according to the soft interrupt levels.

Perhaps you can instrument the stub which handles the hardware
interrupt so that it timestamps it and fetches the interrupt mask at
the time it runs.

	luigi
-----------------------------------+-------------------------------------
  Luigi RIZZO                      .
  EMAIL: luigi@iet.unipi.it        . Dip. di Ing. dell'Informazione
  HTTP://www.iet.unipi.it/~luigi/  . Universita` di Pisa
  TEL/FAX: +39-050-568.533/522     . via Diotisalvi 2, 56126 PISA (Italy)
-----------------------------------+-------------------------------------

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?199902031543.QAA00893>