From mboxrd@z Thu Jan 1 00:00:00 1970 From: wcheng@sourceware.org Date: 6 Feb 2007 22:08:37 -0000 Subject: [Cluster-devel] cluster/gfs-kernel/src/gfs super.c Message-ID: <20070206220837.7587.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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 #include #include +#include #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; }