This is the mail archive of the cluster-cvs@sourceware.org mailing list for the cluster.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cluster/gfs-kernel/src/gfs ops_file.c


CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL4
Changes by:	wcheng@sourceware.org	2006-05-13 02:51:32

Modified files:
	gfs-kernel/src/gfs: ops_file.c 

Log message:
	Found a performance issue in gfs_fsync() implementation where GL_SYNC
	glock flag introduces repeated page writes and meta data flushes via
	customer benchmark. The upload patch:
	
	1. Replace the shared lock with an exclusive lock.
	2. Borrow linux VFS layer's generic_osync_inode() (used by O_SYNC code
	path) to flush the local in-core inode into the disk, instead of the
	original GFS inode_go_sync().
	
	After the changes, the (application) bandwidth jumps from 240.94 KB/s to
	2.67 MB/s, very close (and almost equal) to ext3's under lock_nolock mount
	option.
	
	For other details, check out bugzilla 190950.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/ops_file.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.16.2.9&r2=1.16.2.10


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]