public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Martin Peschke <mp3@de.ibm.com>
To: linux-kernel@vger.kernel.org, akpm@osdl.org, ak@suse.de,
	hch@infradead.org, arjan@infradead.org, James.Smart@Emulex.Com,
	James.Bottomley@SteelEye.com
Subject: [RFC] [Patch 7/8] statistics infrastructure - exploitation prerequisite
Date: Tue, 16 May 2006 19:47:15 +0200	[thread overview]
Message-ID: <446A1023.6020108@de.ibm.com> (raw)

need sched_clock for latency statistics

Signed-off-by: Martin Peschke <mp3@de.ibm.com>
---

  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 = {


             reply	other threads:[~2006-05-16 17:48 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-16 17:47 Martin Peschke [this message]
2006-05-16 18:28 ` [RFC] [Patch 7/8] statistics infrastructure - exploitation prerequisite Andrew Morton
2006-05-16 22:36   ` Martin Peschke
2006-05-16 23:03     ` Arnd Bergmann
2006-05-17  1:23       ` Peter Chubb
2006-05-17  1:27         ` Andi Kleen
2006-05-17  1:43           ` Peter Chubb
2006-05-17  2:24             ` Christoph Lameter
2006-05-17  1:13     ` Peter Chubb
2006-05-17  2:32   ` Nick Piggin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=446A1023.6020108@de.ibm.com \
    --to=mp3@de.ibm.com \
    --cc=James.Bottomley@SteelEye.com \
    --cc=James.Smart@Emulex.Com \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=arjan@infradead.org \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox