Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 04 Mar 1998 19:37:59 -0800
From:      Mike Smith <mike@smith.net.au>
To:        John Saunders <john.saunders@scitec.com.au>
Cc:        shimon@simon-shapiro.org, freebsd-current@FreeBSD.ORG
Subject:   Re: silo overflows (Was Re: 3.0-RELEASE?) 
Message-ID:  <199803050338.TAA23878@dingo.cdrom.com>
In-Reply-To: Your message of "Thu, 05 Mar 1998 14:16:45 %2B1100." <34FE191D.1D676AC3@scitec.com.au> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Simon Shapiro wrote:
> > [snip] Every 1KB, you write to disk [snip]
> 
> If you use an IDE disk then 10 to 1 that's the problem. Particularly
> if the IDE driver is doing multi-sector transfers. Interrupts must be
> disabled during IDE PIO transfers (or you can risk data corruption)
> and the time taken to transfer, say 16 sectors, is significant. When
> Linux supported Intel Triton busmaster IDE the occurance of FIFO
> overflows disappeared on Triton boards.

For what it's worth, interrupts don't actually appear to be disabled 
for PIO IDE transfers.  (Feel free to check the source, FWIW.)

I don't believe that interrupts for the serial ports are blocked by the 
wdintr() handler; they use "fast" handlers which are immune to blocking 
by the normal spl() mechanism.

> The solution is to use either a SCSI disk system, or support
> busmastering IDE. The real problem is the crazy IRQ priorities of
> the PC architeture.

This last hits the nail square on the head.
-- 
\\  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-current" in the body of the message



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