[patch 2.6.13-rc2] all archs: add "__slow" tag for slow code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




This patch adds a tag, "__slow" for marking non-performance-critical
functions in all architectures.

===================================================================
--- 2.6.13-rc2a.orig/include/linux/compiler.h	2005-06-24 00:50:34.000000000 -0400
+++ 2.6.13-rc2a/include/linux/compiler.h	2005-07-10 12:33:00.000000000 -0400
@@ -36,6 +36,10 @@
 
 #ifdef __KERNEL__
 
+/* Text section for code that is not speed-critical.
+ */
+#define __slow		noinline __attribute__((__section__(".slow.text")))
+
 #if __GNUC__ > 4
 #error no compiler-gcc.h file for this gcc version
 #elif __GNUC__ == 4
===================================================================
--- 2.6.13-rc2a.orig/arch/alpha/kernel/vmlinux.lds.S	2004-09-03 19:55:27.000000000 -0400
+++ 2.6.13-rc2a/arch/alpha/kernel/vmlinux.lds.S	2005-07-10 12:46:56.000000000 -0400
@@ -20,6 +20,7 @@
 	SCHED_TEXT
 	LOCK_TEXT
 	*(.fixup)
+	*(.slow.text)
 	*(.gnu.warning)
   } :kernel
   _etext = .;					/* End of text section */
===================================================================
--- 2.6.13-rc2a.orig/arch/arm/kernel/vmlinux.lds.S	2005-06-24 00:50:17.000000000 -0400
+++ 2.6.13-rc2a/arch/arm/kernel/vmlinux.lds.S	2005-07-10 12:38:39.000000000 -0400
@@ -81,6 +81,7 @@
 			SCHED_TEXT
 			LOCK_TEXT
 			*(.fixup)
+			*(.slow.text)
 			*(.gnu.warning)
 			*(.rodata)
 			*(.rodata.*)
===================================================================
--- 2.6.13-rc2a.orig/arch/arm26/kernel/vmlinux-arm26-xip.lds.in	2005-01-03 18:49:27.000000000 -0500
+++ 2.6.13-rc2a/arch/arm26/kernel/vmlinux-arm26-xip.lds.in	2005-07-10 12:43:46.000000000 -0400
@@ -66,6 +66,7 @@
 			SCHED_TEXT
 			LOCK_TEXT       /* FIXME - borrowed from arm32 - check*/
 			*(.fixup)
+			*(.slow.text)
 			*(.gnu.warning)
 			*(.rodata)
 			*(.rodata.*)
===================================================================
--- 2.6.13-rc2a.orig/arch/arm26/kernel/vmlinux-arm26.lds.in	2005-01-03 18:49:27.000000000 -0500
+++ 2.6.13-rc2a/arch/arm26/kernel/vmlinux-arm26.lds.in	2005-07-10 12:44:02.000000000 -0400
@@ -67,6 +67,7 @@
 			SCHED_TEXT
 			LOCK_TEXT
 			*(.fixup)
+			*(.slow.text)
 			*(.gnu.warning)
 			*(.rodata)
 			*(.rodata.*)
===================================================================
--- 2.6.13-rc2a.orig/arch/cris/arch-v10/vmlinux.lds.S	2004-11-11 03:33:13.000000000 -0500
+++ 2.6.13-rc2a/arch/cris/arch-v10/vmlinux.lds.S	2005-07-10 12:42:05.000000000 -0400
@@ -28,6 +28,7 @@
 		SCHED_TEXT
 		LOCK_TEXT
 		*(.fixup)
+		*(.slow.text)
 		*(.text.__*)
 	}
 
===================================================================
--- 2.6.13-rc2a.orig/arch/frv/kernel/vmlinux.lds.S	2005-02-04 07:35:19.000000000 -0500
+++ 2.6.13-rc2a/arch/frv/kernel/vmlinux.lds.S	2005-07-10 12:51:29.000000000 -0400
@@ -113,6 +113,7 @@
 	)
 	SCHED_TEXT
 	*(.fixup)
+	*(.slow.text)
 	*(.gnu.warning)
 	*(.exitcall.exit)
 	} = 0x9090
===================================================================
--- 2.6.13-rc2a.orig/arch/h8300/kernel/vmlinux.lds.S	2004-11-15 22:29:13.000000000 -0500
+++ 2.6.13-rc2a/arch/h8300/kernel/vmlinux.lds.S	2005-07-10 12:49:14.000000000 -0400
@@ -78,6 +78,7 @@
         	*(.text)
 	SCHED_TEXT
 	LOCK_TEXT
+		*(.slow.text)
 	__etext = . ;
 	. = ALIGN(16);          /* Exception table              */
 	___start___ex_table = .;
===================================================================
--- 2.6.13-rc2a.orig/arch/i386/kernel/vmlinux.lds.S	2005-07-07 18:19:01.000000000 -0400
+++ 2.6.13-rc2a/arch/i386/kernel/vmlinux.lds.S	2005-07-09 22:20:29.000000000 -0400
@@ -23,6 +23,7 @@
 	SCHED_TEXT
 	LOCK_TEXT
 	*(.fixup)
+	*(.slow.text)
 	*(.gnu.warning)
 	} = 0x9090
 
===================================================================
--- 2.6.13-rc2a.orig/arch/ia64/kernel/vmlinux.lds.S	2005-07-07 18:19:01.000000000 -0400
+++ 2.6.13-rc2a/arch/ia64/kernel/vmlinux.lds.S	2005-07-10 12:45:56.000000000 -0400
@@ -48,6 +48,7 @@
 	*(.text)
 	SCHED_TEXT
 	LOCK_TEXT
+	*(.slow.text)
 	*(.gnu.linkonce.t*)
     }
   .text2 : AT(ADDR(.text2) - LOAD_OFFSET)
===================================================================
--- 2.6.13-rc2a.orig/arch/m32r/kernel/vmlinux.lds.S	2004-09-24 04:27:50.000000000 -0400
+++ 2.6.13-rc2a/arch/m32r/kernel/vmlinux.lds.S	2005-07-10 12:49:47.000000000 -0400
@@ -29,6 +29,7 @@
 	SCHED_TEXT
 	LOCK_TEXT
 	*(.fixup)
+	*(.slow.text)
 	*(.gnu.warning)
 	} = 0x9090
 #ifdef CONFIG_SMP
===================================================================
--- 2.6.13-rc2a.orig/arch/m68k/kernel/vmlinux-std.lds	2004-10-20 04:37:09.000000000 -0400
+++ 2.6.13-rc2a/arch/m68k/kernel/vmlinux-std.lds	2005-07-10 12:44:58.000000000 -0400
@@ -14,6 +14,7 @@
 	*(.text)
 	SCHED_TEXT
 	*(.fixup)
+	*(.slow.text)
 	*(.gnu.warning)
 	} :text = 0x4e75
 
===================================================================
--- 2.6.13-rc2a.orig/arch/m68k/kernel/vmlinux-sun3.lds	2004-11-19 02:03:13.000000000 -0500
+++ 2.6.13-rc2a/arch/m68k/kernel/vmlinux-sun3.lds	2005-07-10 12:45:08.000000000 -0400
@@ -15,6 +15,7 @@
 	*(.text)
 	SCHED_TEXT
 	*(.fixup)
+	*(.slow.text)
 	*(.gnu.warning)
 	} :text = 0x4e75
 	RODATA
===================================================================
--- 2.6.13-rc2a.orig/arch/m68knommu/kernel/vmlinux.lds.S	2005-01-05 21:42:10.000000000 -0500
+++ 2.6.13-rc2a/arch/m68knommu/kernel/vmlinux.lds.S	2005-07-10 12:40:27.000000000 -0400
@@ -222,6 +222,7 @@
         	*(.text)
 		SCHED_TEXT
         	*(.text.lock)
+		*(.slow.text)
 
 		. = ALIGN(16);          /* Exception table              */
 		__start___ex_table = .;
===================================================================
--- 2.6.13-rc2a.orig/arch/mips/kernel/vmlinux.lds.S	2005-01-31 01:22:40.000000000 -0500
+++ 2.6.13-rc2a/arch/mips/kernel/vmlinux.lds.S	2005-07-10 12:30:33.000000000 -0400
@@ -31,6 +31,7 @@
     SCHED_TEXT
     LOCK_TEXT
     *(.fixup)
+    *(.slow.text)
     *(.gnu.warning)
   } =0
 
===================================================================
--- 2.6.13-rc2a.orig/arch/parisc/kernel/vmlinux.lds.S	2005-06-24 00:50:19.000000000 -0400
+++ 2.6.13-rc2a/arch/parisc/kernel/vmlinux.lds.S	2005-07-10 12:48:08.000000000 -0400
@@ -60,6 +60,7 @@
 	*(.text.*)
 	*(.fixup)
 	*(.lock.text)		/* out-of-line lock text */
+	*(.slow.text)
 	*(.gnu.warning)
 	} = 0
 
===================================================================
--- 2.6.13-rc2a.orig/arch/ppc/kernel/vmlinux.lds.S	2005-06-24 00:50:19.000000000 -0400
+++ 2.6.13-rc2a/arch/ppc/kernel/vmlinux.lds.S	2005-07-09 22:21:38.000000000 -0400
@@ -34,6 +34,7 @@
     SCHED_TEXT
     LOCK_TEXT
     *(.fixup)
+    *(.slow.text)
     *(.got1)
     __got2_start = .;
     *(.got2)
===================================================================
--- 2.6.13-rc2a.orig/arch/ppc64/kernel/vmlinux.lds.S	2004-09-13 20:23:12.000000000 -0400
+++ 2.6.13-rc2a/arch/ppc64/kernel/vmlinux.lds.S	2005-07-09 22:21:59.000000000 -0400
@@ -16,6 +16,7 @@
 	SCHED_TEXT
 	LOCK_TEXT
 	*(.fixup)
+	*(.slow.text)
 	. = ALIGN(4096);
 	_etext = .;
 	}
===================================================================
--- 2.6.13-rc2a.orig/arch/s390/kernel/vmlinux.lds.S	2004-09-03 19:55:27.000000000 -0400
+++ 2.6.13-rc2a/arch/s390/kernel/vmlinux.lds.S	2005-07-10 12:53:03.000000000 -0400
@@ -26,6 +26,7 @@
 	SCHED_TEXT
 	LOCK_TEXT
 	*(.fixup)
+	*(.slow.text)
 	*(.gnu.warning)
 	} = 0x0700
 
===================================================================
--- 2.6.13-rc2a.orig/arch/sh/kernel/vmlinux.lds.S	2004-09-03 19:55:27.000000000 -0400
+++ 2.6.13-rc2a/arch/sh/kernel/vmlinux.lds.S	2005-07-10 12:40:58.000000000 -0400
@@ -25,6 +25,7 @@
 	SCHED_TEXT
 	LOCK_TEXT
 	*(.fixup)
+	*(.slow.text)
 	*(.gnu.warning)
 	} = 0x0009
 
===================================================================
--- 2.6.13-rc2a.orig/arch/sh64/kernel/vmlinux.lds.S	2004-09-03 19:55:27.000000000 -0400
+++ 2.6.13-rc2a/arch/sh64/kernel/vmlinux.lds.S	2005-07-10 12:52:23.000000000 -0400
@@ -61,6 +61,7 @@
 	SCHED_TEXT
 	LOCK_TEXT
 	*(.fixup)
+	*(.slow.text)
 	*(.gnu.warning)
 #ifdef CONFIG_LITTLE_ENDIAN
 	} = 0x6ff0fff0
===================================================================
--- 2.6.13-rc2a.orig/arch/sparc/kernel/vmlinux.lds.S	2004-09-03 19:55:27.000000000 -0400
+++ 2.6.13-rc2a/arch/sparc/kernel/vmlinux.lds.S	2005-07-10 12:34:42.000000000 -0400
@@ -14,6 +14,7 @@
     *(.text)
     SCHED_TEXT
     LOCK_TEXT
+    *(.slow.text)
     *(.gnu.warning)
   } =0
   _etext = .;
===================================================================
--- 2.6.13-rc2a.orig/arch/sparc64/kernel/vmlinux.lds.S	2005-06-24 00:50:20.000000000 -0400
+++ 2.6.13-rc2a/arch/sparc64/kernel/vmlinux.lds.S	2005-07-10 12:39:20.000000000 -0400
@@ -17,6 +17,7 @@
     *(.text)
     SCHED_TEXT
     LOCK_TEXT
+    *(.slow.text)
     *(.gnu.warning)
   } =0
   _etext = .;
===================================================================
--- 2.6.13-rc2a.orig/arch/um/kernel/dyn.lds.S	2005-01-15 17:01:56.000000000 -0500
+++ 2.6.13-rc2a/arch/um/kernel/dyn.lds.S	2005-07-10 12:36:51.000000000 -0400
@@ -64,6 +64,7 @@
     SCHED_TEXT
     LOCK_TEXT
     *(.fixup)
+    *(.slow.text)
     *(.stub .text.* .gnu.linkonce.t.*)
     /* .gnu.warning sections are handled specially by elf32.em.  */
     *(.gnu.warning)
===================================================================
--- 2.6.13-rc2a.orig/arch/um/kernel/uml.lds.S	2005-07-07 18:19:03.000000000 -0400
+++ 2.6.13-rc2a/arch/um/kernel/uml.lds.S	2005-07-10 12:37:14.000000000 -0400
@@ -36,6 +36,7 @@
     SCHED_TEXT
     LOCK_TEXT
     *(.fixup)
+    *(.slow.text)
     /* .gnu.warning sections are handled specially by elf32.em.  */
     *(.gnu.warning)
     *(.gnu.linkonce.t*)
===================================================================
--- 2.6.13-rc2a.orig/arch/v850/kernel/vmlinux.lds.S	2004-11-02 09:40:41.000000000 -0500
+++ 2.6.13-rc2a/arch/v850/kernel/vmlinux.lds.S	2005-07-10 12:54:02.000000000 -0400
@@ -74,6 +74,7 @@
 			*(.exit.text)	/* 2.5 convention */		      \
 			*(.text.exit)	/* 2.4 convention */		      \
 			*(.text.lock)					      \
+			*(.slow.text)
 			*(.exitcall.exit)				      \
 		__real_etext = . ;	/* There may be data after here.  */  \
 		RODATA_CONTENTS						      \
===================================================================
--- 2.6.13-rc2a.orig/arch/x86_64/kernel/vmlinux.lds.S	2005-07-07 18:19:04.000000000 -0400
+++ 2.6.13-rc2a/arch/x86_64/kernel/vmlinux.lds.S	2005-07-09 22:22:26.000000000 -0400
@@ -22,6 +22,7 @@
 	SCHED_TEXT
 	LOCK_TEXT
 	*(.fixup)
+	*(.slow.text)
 	*(.gnu.warning)
 	} = 0x9090
   				/* out-of-line lock text */
===================================================================
--- 2.6.13-rc2a.orig/arch/xtensa/kernel/vmlinux.lds.S	2005-07-07 18:19:04.000000000 -0400
+++ 2.6.13-rc2a/arch/xtensa/kernel/vmlinux.lds.S	2005-07-10 12:54:53.000000000 -0400
@@ -88,6 +88,7 @@
     /* The .head.text section must be the first section! */
     *(.head.text)
     *(.literal .text)
+    *(.slow.text)
     *(.srom.text)
     VMLINUX_SYMBOL(__sched_text_start) = .;
     *(.sched.text.literal .sched.text)
__
Chuck
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux