xfs
[Top] [All Lists]

XFS Writes: IOLOCK_EXCL

To: <linux-xfs@xxxxxxxxxxx>
Subject: XFS Writes: IOLOCK_EXCL
From: "Alex Wun" <alexwun@xxxxxxxxxxxxx>
Date: Mon, 23 Feb 2004 10:29:40 -0500
References: <E1AmMZz-0006cB-00@xxxxxxxxxxxxxxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
Hi.

What I've been trying to do is squeeze some more write performance out of my 
system.
(Dual Pentium Xeon processors, 1GB ram, software RAID, 2.4.20 kernel patched 
with XFS 1.3.1)

I've ended up fiddling with some XFS code and have found that write performance 
can improve significantly in certain applications (i.e. exporting the 
filesystem over a network).  I've left the system running (and writing) over 
the weekend and it seems to be stable.  Although things look good for now, I'd 
like to be certain that I haven't broken anything.

Essentially, this is what I've done:

In the function xfs_fsync():

Instead of:

            VOP_FLUSH_PAGES(...);

I essentially have:
                  VOP_COMMIT_PAGES(...);
                  xfs_iunlock(ip, XFS_IOLOCK_EXCL);
                  VOP_CLEANUP_PAGES(...);
                  xfs_ilock(ip, XFS_IOLOCK_EXCL);


Where VOP_COMMIT_PAGES() + VOP_CLEANUP_PAGES() does the same thing as 
VOP_FLUSH_PAGES() but in two parts, first the writing of the pages then the 
cleanup.  So I've basically released the XFS_IOLOCK_EXCL during page cleanup.

This may not work for everyone but it seems to give me better writing (maybe 
strict operating conditions will apply?). But I'd just like to ask, from a 
conceptual stand-point, whether this is a legitimate thing to do.

Thanks for your time,
Alex Wun


[[HTML alternate version deleted]]


<Prev in Thread] Current Thread [Next in Thread>
  • XFS Writes: IOLOCK_EXCL, Alex Wun <=