[Top] [All Lists]

Re: High latencies writing to a memory mapped file

To: xfs@xxxxxxxxxxx
Subject: Re: High latencies writing to a memory mapped file
From: Stan Hoeppner <stan@xxxxxxxxxxxxxxxxx>
Date: Tue, 27 Jul 2010 08:00:33 -0500
In-reply-to: <20100727124750.30bb3209@xxxxxxxxxxxxxxxxxxxx>
References: <20100722144706.GA2840@xxxxxxxxxxxxxxxxxxxxxxxxx> <20100727092452.GA23307@xxxxxxx> <20100727124750.30bb3209@xxxxxxxxxxxxxxxxxxxx>
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv: Gecko/20100711 Thunderbird/3.0.6
Emmanuel Florac put forth on 7/27/2010 5:47 AM:
> Le Tue, 27 Jul 2010 11:24:52 +0200
> Matthias Schniedermeyer <ms@xxxxxxx> écrivait:
>> In case anybody has an idea what i could do to identify and/or
>> isolate the root-cause, i'm open for suggestions.
> I'd thought that the io scheduler is the culprit. I've generally found
> that the default CFQ scheduler (default) is terrible for file servers.

Agreed.  The scheduler may not be the cause of his issue, but switching to
deadline or noop should certainly help overall I/O a bit.  I'm no fan of CFQ
either.  I've been using deadline for quite a while and it seems to be good
for local single disk and JBOD,  as well as for Linux software RAID to local
disks.  Deadline and noop are both good choices if using a good intelligent
PCI RAID controller, or if doing I/O over a FC/iSCSI HBA to a SAN controller;
in fact noop probably shouldn't be used with anything but intelligent I/O

My informal testing some time ago revealed that deadline will pick up some of
the performance slack if you're unable to use NCQ due to a crappy SATA
chipset/HBA and/or drive firmware (or both).  Testing also showed that it
basically ties noop when used with Qlogic 4Gb FC HBAs and IBM and Nexsan SAN
array controllers.  Deadline just seems to work pretty well with anything,
picking up slack when lacking intelligent I/O hardware, and not really getting
in the way when you have it.

** Testing will reveal which is better for a given server/storage and
application mix.  Such testing is why I only include deadline in my custom
kernels (that and the fact I like to keep my kernels tight, as small as
possible--dropping CFQ and noop simply cuts a little more dead weight from the


<Prev in Thread] Current Thread [Next in Thread>