[Cluster-devel] cluster/gfs-kernel/src/gfs super.c
wcheng at sourceware.org
wcheng at sourceware.org
Wed Aug 2 01:28:59 UTC 2006
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL4
Changes by: wcheng at sourceware.org 2006-08-02 01:28:57
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&only_with_tag=RHEL4&r1=1.12.2.3&r2=1.12.2.4
--- cluster/gfs-kernel/src/gfs/super.c 2006/02/15 17:19:22 1.12.2.3
+++ cluster/gfs-kernel/src/gfs/super.c 2006/08/02 01:28:57 1.12.2.4
@@ -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;
}
More information about the Cluster-devel
mailing list