linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] OProfile: dynamically allocate MSR struct
@ 2003-07-14 15:17 John Levon
  2003-07-14 15:54 ` John Levon
  0 siblings, 1 reply; 2+ messages in thread
From: John Levon @ 2003-07-14 15:17 UTC (permalink / raw)
  To: torvalds, linux-kernel, ak; +Cc: oprofile-list


Andi pointed out to me that cpu_msrs was a source of bloat. Dynamically
allocate it instead. Tested on my SMP box.

Note that we could eventually use per cpu stuff here, but I'd like to
wait on that for now.

regards
john


diff -Naur -X dontdiff linux-cvs/arch/i386/oprofile/nmi_int.c linux-fixes/arch/i386/oprofile/nmi_int.c
--- linux-cvs/arch/i386/oprofile/nmi_int.c	2003-06-18 15:06:05.000000000 +0100
+++ linux-fixes/arch/i386/oprofile/nmi_int.c	2003-07-14 15:34:29.000000000 +0100
@@ -12,6 +12,7 @@
 #include <linux/smp.h>
 #include <linux/oprofile.h>
 #include <linux/sysdev.h>
+#include <linux/slab.h>
 #include <asm/nmi.h>
 #include <asm/msr.h>
 #include <asm/apic.h>
@@ -20,7 +21,7 @@
 #include "op_x86_model.h"
  
 static struct op_x86_model_spec const * model;
-static struct op_msrs cpu_msrs[NR_CPUS];
+static struct op_msrs * cpu_msrs;
 static unsigned long saved_lvtpc[NR_CPUS];
  
 static int nmi_start(void);
@@ -125,6 +126,10 @@
 
 static int nmi_setup(void)
 {
+	cpu_msrs = kmalloc(sizeof(struct op_msrs) * NR_CPUS, GFP_KERNEL);
+	if (!cpu_msrs)
+		return -ENOMEM;
+
 	/* We walk a thin line between law and rape here.
 	 * We need to be careful to install our NMI handler
 	 * without actually triggering any NMIs as this will
@@ -185,6 +190,7 @@
 	on_each_cpu(nmi_cpu_shutdown, NULL, 0, 1);
 	unset_nmi_callback();
 	enable_lapic_nmi_watchdog();
+	kfree(cpu_msrs);
 }
 
  

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] OProfile: dynamically allocate MSR struct
  2003-07-14 15:17 [PATCH] OProfile: dynamically allocate MSR struct John Levon
@ 2003-07-14 15:54 ` John Levon
  0 siblings, 0 replies; 2+ messages in thread
From: John Levon @ 2003-07-14 15:54 UTC (permalink / raw)
  To: torvalds, linux-kernel, ak; +Cc: oprofile-list

On Mon, Jul 14, 2003 at 04:17:28PM +0100, John Levon wrote:

> Andi pointed out to me that cpu_msrs was a source of bloat. Dynamically
> allocate it instead. Tested on my SMP box.

Gah, bogus patch, please ignore.

thanks
john

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-07-14 15:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-14 15:17 [PATCH] OProfile: dynamically allocate MSR struct John Levon
2003-07-14 15:54 ` John Levon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).