xfs
[Top] [All Lists]

Re: Possible performance problem introduced between kernel 2.6.15 and 2.

To: iusty@xxxxxxxxx
Subject: Re: Possible performance problem introduced between kernel 2.6.15 and 2.6.17 on xfs code
From: Francesco Degrassi <francesco.degrassi@xxxxxxxxx>
Date: Thu, 28 Dec 2006 10:56:58 +0100
Cc: Eric Sandeen <sandeen@xxxxxxxxxxx>, linux-xfs@xxxxxxxxxxx
In-reply-to: <20061227180542.GA6888@xxxxxxxxxxxxxxxxx>
References: <458D4845.2010803@xxxxxxxxx> <458D4EEB.3060501@xxxxxxxxxxx> <458DCB8D.3040804@xxxxxxxxx> <4592942C.5000306@xxxxxxxxxxx> <4592B581.7080806@xxxxxxxxx> <20061227180542.GA6888@xxxxxxxxxxxxxxxxx>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird 1.5.0.8 (X11/20061115)
Hi Iustin,
i tried and it and indeed the performance problem does not manifest if i
mount the xfs filesystem with the -o nobarrier option. Seems like we are
a little bit closer to the real problem now.
The code in gnomevfs-copy calls fadvice POSIX_FADV_DONTNEED (in
gnome_vfs_forget_cache) and disabling this behaviour gets back normal
performance, so it has something to do with that.

Thanks for your help

Francesco


Iustin Pop wrote:
> On Wed, Dec 27, 2006 at 07:03:45PM +0100, Francesco Degrassi wrote:
>> I tried ext2, ext3, jfs, reiser3, vfat and the problem does not show up.
>> Anyway i discovered that if i create a regular file in an XFS partition,
>> create an XFS filesystem on it as if it was a regular block device, and
>> mount it with the loop device, the problem does NOT manifest.
>> So it seems to affect XFS filesystems on regular block devices only ?
>> I'm confused.
> 
> This is probably not related, but I remember that barriers were added
> sometime between 2.6.15 and 2.6.17 and probably barriers are not enabled
> on a loop filesystem. Maybe the gnome vfs thing does some sync which
> force flushes or such. I'm no expert, just guessing.
> 
> Just to invalidate this (probably wrong) guess, could you try to mount
> /tmp with "-o nobarrier" and re-test?
> 
> Iustin, who wishes md raid1 would support barriers.


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