[PATCH] ppc64: remove decr_overclock
Anton Blanchard
anton at samba.org
Tue May 31 17:01:22 EST 2005
Hi,
Now that we have HZ=1000 there is much less of a need for
decr_overclock. Remove it.
Leave spread_lpevents but move it into iSeries_setup.c. We should look
at making event spreading the default some day.
Signed-off-by: Anton Blanchard <anton at samba.org>
Acked-by: Stephen Rothwell <sfr at canb.auug.org.au>
===== arch/ppc64/kernel/iSeries_setup.c 1.32 vs edited =====
Index: linux-2.6.git-work/arch/ppc64/kernel/iSeries_setup.c
===================================================================
--- linux-2.6.git-work.orig/arch/ppc64/kernel/iSeries_setup.c 2005-05-23 17:40:56.000000000 +1000
+++ linux-2.6.git-work/arch/ppc64/kernel/iSeries_setup.c 2005-05-23 18:22:15.000000000 +1000
@@ -852,6 +852,28 @@
late_initcall(iSeries_src_init);
+static int set_spread_lpevents(char *str)
+{
+ unsigned long i;
+ unsigned long val = simple_strtoul(str, NULL, 0);
+
+ /*
+ * The parameter is the number of processors to share in processing
+ * lp events.
+ */
+ if (( val > 0) && (val <= NR_CPUS)) {
+ for (i = 1; i < val; ++i)
+ paca[i].lpqueue_ptr = paca[0].lpqueue_ptr;
+
+ printk("lpevent processing spread over %ld processors\n", val);
+ } else {
+ printk("invalid spread_lpevents %ld\n", val);
+ }
+
+ return 1;
+}
+__setup("spread_lpevents=", set_spread_lpevents);
+
void __init iSeries_early_setup(void)
{
iSeries_fixup_klimit();
Index: linux-2.6.git-work/arch/ppc64/kernel/setup.c
===================================================================
--- linux-2.6.git-work.orig/arch/ppc64/kernel/setup.c 2005-05-23 17:40:57.000000000 +1000
+++ linux-2.6.git-work/arch/ppc64/kernel/setup.c 2005-05-23 18:22:15.000000000 +1000
@@ -103,11 +103,6 @@
extern void smp_release_cpus(void);
-unsigned long decr_overclock = 1;
-unsigned long decr_overclock_proc0 = 1;
-unsigned long decr_overclock_set = 0;
-unsigned long decr_overclock_proc0_set = 0;
-
int have_of = 1;
int boot_cpuid = 0;
int boot_cpuid_phys = 0;
@@ -1120,64 +1115,15 @@
printk("[dump]%04x %s\n", src, msg);
}
-int set_spread_lpevents( char * str )
-{
- /* The parameter is the number of processors to share in processing lp events */
- unsigned long i;
- unsigned long val = simple_strtoul( str, NULL, 0 );
- if ( ( val > 0 ) && ( val <= NR_CPUS ) ) {
- for ( i=1; i<val; ++i )
- paca[i].lpqueue_ptr = paca[0].lpqueue_ptr;
- printk("lpevent processing spread over %ld processors\n", val);
- }
- else
- printk("invalid spreaqd_lpevents %ld\n", val);
- return 1;
-}
-
/* This should only be called on processor 0 during calibrate decr */
void setup_default_decr(void)
{
struct paca_struct *lpaca = get_paca();
- if ( decr_overclock_set && !decr_overclock_proc0_set )
- decr_overclock_proc0 = decr_overclock;
-
- lpaca->default_decr = tb_ticks_per_jiffy / decr_overclock_proc0;
+ lpaca->default_decr = tb_ticks_per_jiffy;
lpaca->next_jiffy_update_tb = get_tb() + tb_ticks_per_jiffy;
}
-int set_decr_overclock_proc0( char * str )
-{
- unsigned long val = simple_strtoul( str, NULL, 0 );
- if ( ( val >= 1 ) && ( val <= 48 ) ) {
- decr_overclock_proc0_set = 1;
- decr_overclock_proc0 = val;
- printk("proc 0 decrementer overclock factor of %ld\n", val);
- }
- else
- printk("invalid proc 0 decrementer overclock factor of %ld\n", val);
- return 1;
-}
-
-int set_decr_overclock( char * str )
-{
- unsigned long val = simple_strtoul( str, NULL, 0 );
- if ( ( val >= 1 ) && ( val <= 48 ) ) {
- decr_overclock_set = 1;
- decr_overclock = val;
- printk("decrementer overclock factor of %ld\n", val);
- }
- else
- printk("invalid decrementer overclock factor of %ld\n", val);
- return 1;
-
-}
-
-__setup("spread_lpevents=", set_spread_lpevents );
-__setup("decr_overclock_proc0=", set_decr_overclock_proc0 );
-__setup("decr_overclock=", set_decr_overclock );
-
#ifndef CONFIG_PPC_ISERIES
/*
* This function can be used by platforms to "find" legacy serial ports.
Index: linux-2.6.git-work/arch/ppc64/kernel/smp.c
===================================================================
--- linux-2.6.git-work.orig/arch/ppc64/kernel/smp.c 2005-05-23 17:40:57.000000000 +1000
+++ linux-2.6.git-work/arch/ppc64/kernel/smp.c 2005-05-23 18:22:15.000000000 +1000
@@ -334,7 +334,6 @@
}
}
-extern unsigned long decr_overclock;
extern struct gettimeofday_struct do_gtod;
struct thread_info *current_set[NR_CPUS];
@@ -491,7 +490,7 @@
if (smp_ops->cpu_bootable && !smp_ops->cpu_bootable(cpu))
return -EINVAL;
- paca[cpu].default_decr = tb_ticks_per_jiffy / decr_overclock;
+ paca[cpu].default_decr = tb_ticks_per_jiffy;
if (!cpu_has_feature(CPU_FTR_SLB)) {
void *tmp;
More information about the Linuxppc64-dev
mailing list