public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] reduce stack usage of sanitize_e820_map
@ 2002-08-15 21:48 Benjamin LaHaise
  2002-08-16 14:58 ` Denis Vlasenko
  2002-08-17 17:18 ` Eric W. Biederman
  0 siblings, 2 replies; 6+ messages in thread
From: Benjamin LaHaise @ 2002-08-15 21:48 UTC (permalink / raw)
  To: Linus Torvalds, Linux Kernel

Hello,

Currently, sanitize_e820_map uses 0x738 bytes of stack.  The patch below 
moves the arrays into __initdata, reducing stack usage to 0x34 bytes.

		-ben

:r ~/patches/v2.5/v2.5.31-stack-e820.diff
diff -urN foo-v2.5.31/arch/i386/kernel/setup.c bar-v2.5.31/arch/i386/kernel/setup.c
--- foo-v2.5.31/arch/i386/kernel/setup.c	Mon Jun 17 15:41:13 2002
+++ bar-v2.5.31/arch/i386/kernel/setup.c	Thu Aug 15 17:47:41 2002
@@ -275,16 +275,17 @@
  * replaces the original e820 map with a new one, removing overlaps.
  *
  */
+struct change_member {
+	struct e820entry *pbios; /* pointer to original bios entry */
+	unsigned long long addr; /* address for this change point */
+};
+struct change_member change_point_list[2*E820MAX] __initdata;
+struct change_member *change_point[2*E820MAX] __initdata;
+struct e820entry *overlap_list[E820MAX] __initdata;
+struct e820entry new_bios[E820MAX] __initdata;
+
 static int __init sanitize_e820_map(struct e820entry * biosmap, char * pnr_map)
 {
-	struct change_member {
-		struct e820entry *pbios; /* pointer to original bios entry */
-		unsigned long long addr; /* address for this change point */
-	};
-	struct change_member change_point_list[2*E820MAX];
-	struct change_member *change_point[2*E820MAX];
-	struct e820entry *overlap_list[E820MAX];
-	struct e820entry new_bios[E820MAX];
 	struct change_member *change_tmp;
 	unsigned long current_type, last_type;
 	unsigned long long last_addr;

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

end of thread, other threads:[~2002-08-17 19:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-08-15 21:48 [patch] reduce stack usage of sanitize_e820_map Benjamin LaHaise
2002-08-16 14:58 ` Denis Vlasenko
2002-08-16 15:27   ` Linus Torvalds
2002-08-17 17:18 ` Eric W. Biederman
2002-08-17 19:17   ` Benjamin LaHaise
2002-08-17 19:35     ` Benjamin LaHaise

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox