Bug 236099 - Merge transactions during createi (open) on gfs2
Merge transactions during createi (open) on gfs2
Product: Fedora
Classification: Fedora
Component: GFS-kernel (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Steve Whitehouse
: FutureFeature
Depends On: 242066
Blocks: 338651
  Show dependency treegraph
Reported: 2007-04-11 18:09 EDT by Steve Whitehouse
Modified: 2014-04-28 07:47 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
GFS2: combine functions alloc_dinode and make_dinode (10.16 KB, patch)
2012-05-30 15:45 EDT, Robert Peterson
no flags Details | Diff

  None (edit)
Description Steve Whitehouse 2007-04-11 18:09:50 EDT
Creating a file on gfs2 is broken down into several transactions, at least some
of which should be merged for greater performance.

In addition, it should also be possible to reduce the number of directory
lookups which are required further improving the situation.
Comment 1 Steve Whitehouse 2011-05-10 13:38:21 EDT
Due to recent updated to the upstream code, this task is becoming easier. The ACL/xattr updates were a first part of this, and the currently pending changes to eliminate ops_inode.c are another step towards this goal.
Comment 2 Steve Whitehouse 2011-05-16 06:43:43 EDT
As of today, another set of patches have gone into the -nmw git tree which clean up the inode creation code. We are another step closer to this goal now that it is possible to see the wood for the trees in this area.
Comment 3 Robert Peterson 2012-05-30 15:45:51 EDT
Created attachment 587836 [details]
GFS2: combine functions alloc_dinode and make_dinode

This experimental RHEL6 patch combines two of the transactions by
combining functions alloc_dinode and make_dinode. Getting the
lock ordering was quite tricky. The good news is that it passed
the SAS calibration workload, which is a brutal workout. The bad
news is that it didn't seem to improve GFS2 performance noticeably.
So I don't know if we want to pursue this or not.
Comment 4 Steve Whitehouse 2012-10-31 07:54:16 EDT
An initial patch for this has been posted to cluster-devel today. There is still further work to do, but the initial patch has resolved the ordering issue between creation on the incore inode and the other processes required, so that this should now become much easier to do.

Note You need to log in before you can comment on or make changes to this bug.