Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Feb 2010 06:51:47 -0800
From:      Jeremy Chadwick <freebsd@jdc.parodius.com>
To:        freebsd-stable@freebsd.org
Subject:   Re: ATA_CAM + ZFS gives short 1-2 seconds system freeze on disk load
Message-ID:  <20100208145147.GA3733@icarus.home.lan>
In-Reply-To: <20100208143329.GA12057@megatron.madpilot.net>
References:  <20100208143329.GA12057@megatron.madpilot.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Feb 08, 2010 at 03:33:29PM +0100, Guido Falsi wrote:
> Hi!
> 
> I'm seeing this problem on my machine at work. It's an HP DC 7800,
> mounts an ich9 chipset(not ahci capable). I'm attaching the dmesg.
> 
> I noticed this in the past, but it got evident(and very annoying)
> while recompiling many ports today after the jpeg-8 update.
> 
> It looks like it freezes the system for the second or two it takes
> to flush buffers to disk when there are big outputs. This happens
> when decompressiong big distfiles, mainly. The openoffice port
> triggers this almost continuosly every few seconds during compilation.
> I've also seen this when working with big files(for example graphic
> images in uncompressed formats).
> 
> It gets very annoying and I don't remember this happening before
> activating the ATA_CAM flag. There was some slowdown with big disk
> access, but not a total freeze.

This happens without ATA_CAM (e.g. using ataahci(4) or any other
controller driver).

The behaviour you're describing (bursty heavy disk I/O that stalls the
subsystem) is pretty much the norm on all FreeBSD systems I've seen with
ZFS.  When it starts happening, it's easy to notice/follow using "zpool
iostat 1" or "gstat -I500ms".  Lots of I/O will happen (read or write)
and the ARC is essentially being thrashed -- said utilities won't show
any I/O counters incrementing until some threshold is reached, where
you'll see a massive amount of I/O reported, during which time the
system is sluggish (beyond acceptable levels, IMHO).  A few seconds
later, the I/O counters start reporting 0 as the ARC gets used, then
a few seconds massive I/O, rinse lather repeat.

I've seen Solaris 10 systems which behave the same way, and others which
don't.  I don't know what causes things to start behaving this way.

> BTW there's another thing that shows up on this machine. Lately, this
> too after putting the option ATA_CAM in the kernel, during boot there is
> a long pause(exactly one minute, as the message below states) in this
> point of the dmesg:

This should probably be discussed in a different thread.

-- 
| Jeremy Chadwick                                   jdc@parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |




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