Subject: Re: kern/8217: periodic pciide pauses?
To: Manuel Bouyer <bouyer@antioche.lip6.fr>
From: Roger Brooks <R.S.Brooks@liverpool.ac.uk>
List: netbsd-bugs
Date: 08/23/1999 18:30:17
On Mon, 23 Aug 1999, Manuel Bouyer wrote:

>On Wed, Aug 18, 1999 at 10:12:42AM +0300, Antti Kantee wrote:
>> On Tue Aug 17 1999 at 21:53:13 +0000, Matthias Scheler wrote:
>> 
>> > > During periods of heavy disk i/o to UDMA pciide drives, programs will
>> > > periodically "freeze" for up to about 5 seconds and then start up
>> > > again.
>> > 
>> > A few seconds ago I experienced this problem with a SCSI disk, too. It
>> > happened while extracting a "tar" archive from a NFS filesystem to a
>> > local filesystem on an UW SCSI disk. So it's obviously not related to
>> > the PCI IDE driver.
>> > 
>> > I suppose it is more related to buffer management because all affected
>> > boxes have lots of memory (either 128 or 256MB).
>> 
>> I remember getting it on a 32MB box when I was using wdc, so I guess it
>> wouldn't be directly related to either of the above causes.
>
>I guess this depend on the ratio between the buffer cache and the drive
>speed, if the abobe theory is correct.
>
>I noticed these hangs with large (20Mb) buffer caches too, on both IDE and
>SCSI disks. I proved they are related to sync(2) in my case (killing update
>and running sync(8) manually).
>Maybe there's 2 different bugs ?

This is curious...  We had a similar problem on a SPARC/Solaris webserver
(running apache), which wrote a lot of logging data to disk.  The person
who looks after it reckoned he got improved performance by killing off
update and running his own program which called sync(2) something like
every 20 seconds.  I think this was Solaris 2.5.  We never investigated in
great detail, but we wondered if the whole of the buffer cache was locked
while dirty buffers were being flushed.  If so this explains why one might
get pathological behaviour on systems with a large buffer cache when the
system is operating in "write-mostly" mode (for example, unpacking a large
tar saveset or writing log files which are never read).  




Roger

------------------------------------------------------------------------------
Roger Brooks (Systems Programmer),          |  Email: R.S.Brooks@liv.ac.uk
Computing Services Dept,                    |  Tel:   +44 151 794 4441
The University of Liverpool,                |  Fax:   +44 151 794 4442
PO Box 147, Liverpool L69 3BX, UK           | 
------------------------------------------------------------------------------