[RFC] [Patch 7/8] statistics infrastructure - exploitation prerequisite

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

 



need sched_clock for latency statistics

Signed-off-by: Martin Peschke <[email protected]>
---

 alpha/kernel/time.c            |    1 +
 arm/kernel/time.c              |    1 +
 arm/mach-omap1/time.c          |    1 +
 arm/mach-realview/core.c       |    1 +
 arm/mach-sa1100/generic.c      |    1 +
 arm/mach-versatile/core.c      |    1 +
 arm/plat-omap/timer32k.c       |    1 +
 arm26/kernel/time.c            |    1 +
 cris/kernel/time.c             |    1 +
 frv/kernel/time.c              |    1 +
 h8300/kernel/time.c            |    3 ++-
 i386/kernel/timers/timer_tsc.c |    1 +
 m32r/kernel/time.c             |    1 +
 m68k/kernel/time.c             |    2 +-
 m68knommu/kernel/time.c        |    4 +++-
 mips/kernel/time.c             |    1 +
 parisc/kernel/time.c           |    1 +
 powerpc/kernel/time.c          |    1 +
 ppc/kernel/time.c              |    1 +
 s390/kernel/time.c             |    1 +
 sh/kernel/time.c               |    1 +
 sh64/kernel/time.c             |    2 +-
 sparc/kernel/time.c            |    1 +
 sparc64/kernel/time.c          |    1 +
 um/kernel/time_kern.c          |    1 +
 v850/kernel/time.c             |    1 +
 x86_64/kernel/time.c           |    1 +
 xtensa/kernel/time.c           |    1 +
 28 files changed, 31 insertions(+), 4 deletions(-)

diff -Nurp a/arch/alpha/kernel/time.c b/arch/alpha/kernel/time.c
--- a/arch/alpha/kernel/time.c	2006-05-15 12:42:07.000000000 +0200
+++ b/arch/alpha/kernel/time.c	2006-05-15 17:36:14.000000000 +0200
@@ -101,6 +101,7 @@ unsigned long long sched_clock(void)
 {
         return (unsigned long long)jiffies * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);


 /*
diff -Nurp a/arch/arm/kernel/time.c b/arch/arm/kernel/time.c
--- a/arch/arm/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/arm/kernel/time.c	2006-05-15 17:36:51.000000000 +0200
@@ -84,6 +84,7 @@ unsigned long long __attribute__((weak))
 {
 	return (unsigned long long)jiffies * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 static unsigned long next_rtc_update;

diff -Nurp a/arch/arm/mach-omap1/time.c b/arch/arm/mach-omap1/time.c
--- a/arch/arm/mach-omap1/time.c	2006-05-15 12:42:07.000000000 +0200
+++ b/arch/arm/mach-omap1/time.c	2006-05-15 17:37:24.000000000 +0200
@@ -220,6 +220,7 @@ unsigned long long sched_clock(void)

 	return cycles_2_ns(ticks64);
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 /*
  * ---------------------------------------------------------------------------
diff -Nurp a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c
--- a/arch/arm/mach-realview/core.c	2006-05-15 12:42:07.000000000 +0200
+++ b/arch/arm/mach-realview/core.c	2006-05-15 17:38:47.000000000 +0200
@@ -62,6 +62,7 @@ unsigned long long sched_clock(void)

 	return v;
 }
+EXPORT_SYMBOL_GPL(sched_clock);


#define REALVIEW_FLASHCTRL (__io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_FLASH_OFFSET)
diff -Nurp a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c
--- a/arch/arm/mach-sa1100/generic.c	2006-05-15 12:42:07.000000000 +0200
+++ b/arch/arm/mach-sa1100/generic.c	2006-05-15 17:39:43.000000000 +0200
@@ -131,6 +131,7 @@ unsigned long long sched_clock(void)

 	return v;
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 /*
  * Default power-off for SA1100
diff -Nurp a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c
--- a/arch/arm/mach-versatile/core.c	2006-05-15 12:42:07.000000000 +0200
+++ b/arch/arm/mach-versatile/core.c	2006-05-15 17:40:17.000000000 +0200
@@ -239,6 +239,7 @@ unsigned long long sched_clock(void)

 	return v;
 }
+EXPORT_SYMBOL_GPL(sched_clock);


#define VERSATILE_FLASHCTRL (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET)
diff -Nurp a/arch/arm/plat-omap/timer32k.c b/arch/arm/plat-omap/timer32k.c
--- a/arch/arm/plat-omap/timer32k.c	2006-05-15 12:42:07.000000000 +0200
+++ b/arch/arm/plat-omap/timer32k.c	2006-05-15 17:41:02.000000000 +0200
@@ -188,6 +188,7 @@ unsigned long long sched_clock(void)
 {
 	return omap_32k_ticks_to_nsecs(omap_32k_sync_timer_read());
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 /*
  * Timer interrupt for 32KHz timer. When dynamic tick is enabled, this
diff -Nurp a/arch/arm26/kernel/time.c b/arch/arm26/kernel/time.c
--- a/arch/arm26/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/arm26/kernel/time.c	2006-05-15 17:41:39.000000000 +0200
@@ -99,6 +99,7 @@ unsigned long long sched_clock(void)
 {
 	return (unsigned long long)jiffies * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 static unsigned long next_rtc_update;

diff -Nurp a/arch/cris/kernel/time.c b/arch/cris/kernel/time.c
--- a/arch/cris/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/cris/kernel/time.c	2006-05-15 17:42:25.000000000 +0200
@@ -231,6 +231,7 @@ unsigned long long sched_clock(void)
 {
 	return (unsigned long long)jiffies * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 static int
 __init init_udelay(void)
diff -Nurp a/arch/frv/kernel/time.c b/arch/frv/kernel/time.c
--- a/arch/frv/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/frv/kernel/time.c	2006-05-15 17:42:56.000000000 +0200
@@ -230,3 +230,4 @@ unsigned long long sched_clock(void)
 {
 	return jiffies_64 * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);
diff -Nurp a/arch/h8300/kernel/time.c b/arch/h8300/kernel/time.c
--- a/arch/h8300/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/h8300/kernel/time.c	2006-05-15 17:43:40.000000000 +0200
@@ -123,5 +123,6 @@ EXPORT_SYMBOL(do_settimeofday);
 unsigned long long sched_clock(void)
 {
 	return (unsigned long long)jiffies * (1000000000 / HZ);
-
 }
+
+EXPORT_SYMBOL_GPL(sched_clock);
diff -Nurp a/arch/i386/kernel/timers/timer_tsc.c b/arch/i386/kernel/timers/timer_tsc.c
--- a/arch/i386/kernel/timers/timer_tsc.c	2006-05-15 12:42:07.000000000 +0200
+++ b/arch/i386/kernel/timers/timer_tsc.c	2006-05-15 17:44:11.000000000 +0200
@@ -167,6 +167,7 @@ unsigned long long sched_clock(void)
 	/* return the value in ns */
 	return cycles_2_ns(this_offset);
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 static void delay_tsc(unsigned long loops)
 {
diff -Nurp a/arch/m32r/kernel/time.c b/arch/m32r/kernel/time.c
--- a/arch/m32r/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/m32r/kernel/time.c	2006-05-15 17:44:58.000000000 +0200
@@ -304,3 +304,4 @@ unsigned long long sched_clock(void)
 {
 	return (unsigned long long)jiffies * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);
diff -Nurp a/arch/m68k/kernel/time.c b/arch/m68k/kernel/time.c
--- a/arch/m68k/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/m68k/kernel/time.c	2006-05-15 17:45:29.000000000 +0200
@@ -177,4 +177,4 @@ unsigned long long sched_clock(void)
 {
        return (unsigned long long)jiffies*(1000000000/HZ);
 }
-
+EXPORT_SYMBOL_GPL(sched_clock);
diff -Nurp a/arch/m68knommu/kernel/time.c b/arch/m68knommu/kernel/time.c
--- a/arch/m68knommu/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/m68knommu/kernel/time.c	2006-05-15 17:46:26.000000000 +0200
@@ -180,6 +180,8 @@ int do_settimeofday(struct timespec *tv)
 	return 0;
 }

+EXPORT_SYMBOL(do_settimeofday);
+
 /*
  * Scheduler clock - returns current time in nanosec units.
  */
@@ -188,4 +190,4 @@ unsigned long long sched_clock(void)
 	return (unsigned long long)jiffies * (1000000000 / HZ);
 }

-EXPORT_SYMBOL(do_settimeofday);
+EXPORT_SYMBOL_GPL(sched_clock);
diff -Nurp a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c
--- a/arch/mips/kernel/time.c	2006-05-15 12:42:07.000000000 +0200
+++ b/arch/mips/kernel/time.c	2006-05-15 17:47:00.000000000 +0200
@@ -778,3 +778,4 @@ unsigned long long sched_clock(void)
 {
 	return (unsigned long long)jiffies*(1000000000/HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);
diff -Nurp a/arch/parisc/kernel/time.c b/arch/parisc/kernel/time.c
--- a/arch/parisc/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/parisc/kernel/time.c	2006-05-15 17:47:34.000000000 +0200
@@ -211,6 +211,7 @@ unsigned long long sched_clock(void)
 {
 	return (unsigned long long)jiffies * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);


 void __init time_init(void)
diff -Nurp a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
--- a/arch/powerpc/kernel/time.c	2006-05-15 12:42:07.000000000 +0200
+++ b/arch/powerpc/kernel/time.c	2006-05-15 17:48:03.000000000 +0200
@@ -781,6 +781,7 @@ unsigned long long sched_clock(void)
 		return get_rtc();
 	return mulhdu(get_tb(), tb_to_ns_scale) << tb_to_ns_shift;
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 int do_settimeofday(struct timespec *tv)
 {
diff -Nurp a/arch/ppc/kernel/time.c b/arch/ppc/kernel/time.c
--- a/arch/ppc/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/ppc/kernel/time.c	2006-05-15 17:48:38.000000000 +0200
@@ -445,3 +445,4 @@ unsigned long long sched_clock(void)
 	}
 	return tb;
 }
+EXPORT_SYMBOL_GPL(sched_clock);
diff -Nurp a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
--- a/arch/s390/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/s390/kernel/time.c	2006-05-15 17:49:11.000000000 +0200
@@ -63,6 +63,7 @@ unsigned long long sched_clock(void)
 {
 	return ((get_clock() - jiffies_timer_cc) * 125) >> 9;
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 /*
  * Monotonic_clock - returns # of nanoseconds passed since time_init()
diff -Nurp a/arch/sh/kernel/time.c b/arch/sh/kernel/time.c
--- a/arch/sh/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/sh/kernel/time.c	2006-05-15 17:49:42.000000000 +0200
@@ -44,6 +44,7 @@ unsigned long long __attribute__ ((weak)
 {
 	return (unsigned long long)jiffies * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 void do_gettimeofday(struct timeval *tv)
 {
diff -Nurp a/arch/sh64/kernel/time.c b/arch/sh64/kernel/time.c
--- a/arch/sh64/kernel/time.c	2006-05-15 12:42:08.000000000 +0200
+++ b/arch/sh64/kernel/time.c	2006-05-15 17:50:09.000000000 +0200
@@ -598,4 +598,4 @@ unsigned long long sched_clock(void)
 {
 	return (unsigned long long)jiffies * (1000000000 / HZ);
 }
-
+EXPORT_SYMBOL_GPL(sched_clock);
diff -Nurp a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.c
--- a/arch/sparc/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/sparc/kernel/time.c	2006-05-15 17:50:42.000000000 +0200
@@ -466,6 +466,7 @@ unsigned long long sched_clock(void)
 {
 	return (unsigned long long)jiffies * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 /* Ok, my cute asm atomicity trick doesn't work anymore.
  * There are just too many variables that need to be protected
diff -Nurp a/arch/sparc64/kernel/time.c b/arch/sparc64/kernel/time.c
--- a/arch/sparc64/kernel/time.c	2006-05-15 12:42:08.000000000 +0200
+++ b/arch/sparc64/kernel/time.c	2006-05-15 17:51:19.000000000 +0200
@@ -1135,6 +1135,7 @@ unsigned long long sched_clock(void)
 	return (ticks * timer_ticks_per_nsec_quotient)
 		>> SPARC64_NSEC_PER_CYC_SHIFT;
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 static int set_rtc_mmss(unsigned long nowtime)
 {
diff -Nurp a/arch/um/kernel/time_kern.c b/arch/um/kernel/time_kern.c
--- a/arch/um/kernel/time_kern.c	2006-05-15 12:42:08.000000000 +0200
+++ b/arch/um/kernel/time_kern.c	2006-05-15 17:51:46.000000000 +0200
@@ -34,6 +34,7 @@ unsigned long long sched_clock(void)
 {
 	return (unsigned long long)jiffies_64 * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 /* Changed at early boot */
 int timer_irq_inited = 0;
diff -Nurp a/arch/v850/kernel/time.c b/arch/v850/kernel/time.c
--- a/arch/v850/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/v850/kernel/time.c	2006-05-15 17:52:11.000000000 +0200
@@ -35,6 +35,7 @@ unsigned long long sched_clock(void)
 {
 	return (unsigned long long)jiffies * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 /*
  * timer_interrupt() needs to keep up the real-time clock,
diff -Nurp a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c
--- a/arch/x86_64/kernel/time.c	2006-05-15 12:42:08.000000000 +0200
+++ b/arch/x86_64/kernel/time.c	2006-05-15 17:52:39.000000000 +0200
@@ -501,6 +501,7 @@ unsigned long long sched_clock(void)
 	rdtscll(a);
 	return cycles_2_ns(a);
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 static unsigned long get_cmos_time(void)
 {
diff -Nurp a/arch/xtensa/kernel/time.c b/arch/xtensa/kernel/time.c
--- a/arch/xtensa/kernel/time.c	2006-03-20 06:53:29.000000000 +0100
+++ b/arch/xtensa/kernel/time.c	2006-05-15 17:53:03.000000000 +0200
@@ -49,6 +49,7 @@ unsigned long long sched_clock(void)
 {
 	return (unsigned long long)jiffies * (1000000000 / HZ);
 }
+EXPORT_SYMBOL_GPL(sched_clock);

 static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs);
 static struct irqaction timer_irqaction = {

-
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]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux