[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	wcheng sourceware org	2006-08-02 01:37:17

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

Log message:
	Bugzilla 199984: Increasing gt_statfs_slots tunable could significantly
	boost gfs "df" performance; e.g. set it to 128 from current default (64)
	could cut the "df" wall time in half with larger filesystem size. However,
	the kmalloc call within stat_gfs_async() has the possibility to fail due
	to increased gt_statfs_slots. There is really no need for this array to
	be on a piece of contiguous memory. Switch to vmalloc().

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

--- cluster/gfs-kernel/src/gfs/super.c	2006/07/11 17:29:24	1.19
+++ cluster/gfs-kernel/src/gfs/super.c	2006/08/02 01:37:16	1.20
@@ -840,7 +840,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));
@@ -884,7 +884,7 @@
 		yield();
 	}
 
-	kfree(gha);
+	vfree(gha);
 
 	return error;
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]