* [PATCH] - Reduce overhead of reading sn_topology
@ 2006-04-22 14:37 Jack Steiner
0 siblings, 0 replies; only message in thread
From: Jack Steiner @ 2006-04-22 14:37 UTC (permalink / raw)
To: linux-ia64
MPI programs using certain debug options have a long
startup time. This was traced to a "vmalloc/vfree" in
the code that reads /proc/sgi_sn/sn_topology. On large
systems, vfree requires an IPI to all cpus to do TLB
purging.
Replace the vmalloc/vfree with kmalloc/kfree. Although
the size of the structure being allocated is unknown, it
will not not exceed 96 bytes.
Signed-off-by: Jack Steiner <steiner@sgi.com>
Index: linux/arch/ia64/sn/kernel/sn2/sn_hwperf.c
=================================--- linux.orig/arch/ia64/sn/kernel/sn2/sn_hwperf.c 2006-04-22 09:24:01.969360448 -0500
+++ linux/arch/ia64/sn/kernel/sn2/sn_hwperf.c 2006-04-22 09:24:24.403090461 -0500
@@ -493,7 +493,7 @@ static int sn_topology_show(struct seq_f
* numalink ports
*/
sz = obj->ports * sizeof(struct sn_hwperf_port_info);
- if ((ptdata = vmalloc(sz)) = NULL)
+ if ((ptdata = kmalloc(sz, GFP_KERNEL)) = NULL)
return -ENOMEM;
e = ia64_sn_hwperf_op(sn_hwperf_master_nasid,
SN_HWPERF_ENUM_PORTS, obj->id, sz,
@@ -541,7 +541,7 @@ static int sn_topology_show(struct seq_f
(SN_HWPERF_IS_NL3ROUTER(obj) ||
SN_HWPERF_IS_NL3ROUTER(p)) ? "LLP3" : "LLP4");
}
- vfree(ptdata);
+ kfree(ptdata);
}
return 0;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-04-22 14:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-22 14:37 [PATCH] - Reduce overhead of reading sn_topology Jack Steiner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox