Re: [patch] Mark cyc2ns_scale readmostly

From: Andrew Morton
Date: Sat Mar 18 2006 - 00:36:30 EST


Ravikiran G Thirumalai <kiran@xxxxxxxxxxxx> wrote:
>
> This variable is rarely written to. Mark the variable accordingly
>

I dropped all John's timekeeping patches today - he's redoing everything.
So I've reworked this against mainline.

x86 actually has two cyc2ns_scale's.

arch/i386/kernel/timers/timer_hpet.c | 2 +-
arch/i386/kernel/timers/timer_tsc.c | 2 +-
arch/x86_64/kernel/time.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

diff -puN arch/i386/kernel/timers/timer_hpet.c~mark-cyc2ns_scale-readmostly arch/i386/kernel/timers/timer_hpet.c
--- devel/arch/i386/kernel/timers/timer_hpet.c~mark-cyc2ns_scale-readmostly 2006-03-17 21:34:19.000000000 -0800
+++ devel-akpm/arch/i386/kernel/timers/timer_hpet.c 2006-03-17 21:34:19.000000000 -0800
@@ -46,7 +46,7 @@ static seqlock_t monotonic_lock = SEQLOC
*
* -johnstul@xxxxxxxxxx "math is hard, lets go shopping!"
*/
-static unsigned long cyc2ns_scale;
+static unsigned long cyc2ns_scale __read_mostly;
#define CYC2NS_SCALE_FACTOR 10 /* 2^10, carefully chosen */

static inline void set_cyc2ns_scale(unsigned long cpu_khz)
diff -puN arch/i386/kernel/timers/timer_tsc.c~mark-cyc2ns_scale-readmostly arch/i386/kernel/timers/timer_tsc.c
--- devel/arch/i386/kernel/timers/timer_tsc.c~mark-cyc2ns_scale-readmostly 2006-03-17 21:34:19.000000000 -0800
+++ devel-akpm/arch/i386/kernel/timers/timer_tsc.c 2006-03-17 21:34:19.000000000 -0800
@@ -74,7 +74,7 @@ late_initcall(start_lost_tick_compensati
*
* -johnstul@xxxxxxxxxx "math is hard, lets go shopping!"
*/
-static unsigned long cyc2ns_scale;
+static unsigned long cyc2ns_scale __read_mostly;
#define CYC2NS_SCALE_FACTOR 10 /* 2^10, carefully chosen */

static inline void set_cyc2ns_scale(unsigned long cpu_khz)
diff -puN arch/x86_64/kernel/time.c~mark-cyc2ns_scale-readmostly arch/x86_64/kernel/time.c
--- devel/arch/x86_64/kernel/time.c~mark-cyc2ns_scale-readmostly 2006-03-17 21:34:19.000000000 -0800
+++ devel-akpm/arch/x86_64/kernel/time.c 2006-03-17 21:34:19.000000000 -0800
@@ -477,7 +477,7 @@ static irqreturn_t timer_interrupt(int i
return IRQ_HANDLED;
}

-static unsigned int cyc2ns_scale;
+static unsigned int cyc2ns_scale __read_mostly;
#define CYC2NS_SCALE_FACTOR 10 /* 2^10, carefully chosen */

static inline void set_cyc2ns_scale(unsigned long cpu_khz)
_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/