[Cluster-devel] cluster/gfs-kernel/src/gfs super.c

wcheng at sourceware.org wcheng at sourceware.org
Tue Feb 6 22:08:37 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL4
Changes by:	wcheng at sourceware.org	2007-02-06 22:08:37

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

Log message:
	Bugzilla 220622:
	
	Allow vmalloc in stat_gfs_async() (as in RHEL5) to alleviate statfs
	performance issue. This should allow statfs_slot tunable to take
	more asynchronous locks. Hopefully "df" and "ls" could run a little
	bit faster with this.

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

--- cluster/gfs-kernel/src/gfs/super.c	2007/01/22 07:43:52	1.12.2.6
+++ cluster/gfs-kernel/src/gfs/super.c	2007/02/06 22:08:36	1.12.2.7
@@ -18,6 +18,7 @@
 #include <asm/semaphore.h>
 #include <linux/completion.h>
 #include <linux/buffer_head.h>
+#include <linux/vmalloc.h>
 
 #include "gfs.h"
 #include "dio.h"
@@ -841,7 +842,7 @@
 
 	memset(sg, 0, sizeof(struct gfs_stat_gfs));
 
-	gha = kmalloc(slots * sizeof(struct gfs_holder), GFP_KERNEL);
+	gha = vmalloc(slots * sizeof(struct gfs_holder));
 	if (!gha)
 		return -ENOMEM;
 	memset(gha, 0, slots * sizeof(struct gfs_holder));
@@ -885,7 +886,7 @@
 		yield();
 	}
 
-	kfree(gha);
+	vfree(gha);
 
 	return error;
 }




More information about the Cluster-devel mailing list