ATA_CAM + ZFS gives short 1-2 seconds system freeze on disk load
Jeremy Chadwick
freebsd at jdc.parodius.com
Mon Feb 8 14:51:49 UTC 2010
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 at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP: 4BD6C0CB |
More information about the freebsd-stable
mailing list