Commit c4eb2a93319d61923635c84a5f5e68965b14c754

Authored by Anton Blanchard
Committed by Linus Torvalds
1 parent 6dc2f0c7df

[PATCH] ppc64: remove decr_overclock

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@samba.org>
Acked-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 3 changed files with 24 additions and 57 deletions Side-by-side Diff

arch/ppc64/kernel/iSeries_setup.c
... ... @@ -852,6 +852,28 @@
852 852  
853 853 late_initcall(iSeries_src_init);
854 854  
  855 +static int set_spread_lpevents(char *str)
  856 +{
  857 + unsigned long i;
  858 + unsigned long val = simple_strtoul(str, NULL, 0);
  859 +
  860 + /*
  861 + * The parameter is the number of processors to share in processing
  862 + * lp events.
  863 + */
  864 + if (( val > 0) && (val <= NR_CPUS)) {
  865 + for (i = 1; i < val; ++i)
  866 + paca[i].lpqueue_ptr = paca[0].lpqueue_ptr;
  867 +
  868 + printk("lpevent processing spread over %ld processors\n", val);
  869 + } else {
  870 + printk("invalid spread_lpevents %ld\n", val);
  871 + }
  872 +
  873 + return 1;
  874 +}
  875 +__setup("spread_lpevents=", set_spread_lpevents);
  876 +
855 877 void __init iSeries_early_setup(void)
856 878 {
857 879 iSeries_fixup_klimit();
arch/ppc64/kernel/setup.c
... ... @@ -103,11 +103,6 @@
103 103  
104 104 extern void smp_release_cpus(void);
105 105  
106   -unsigned long decr_overclock = 1;
107   -unsigned long decr_overclock_proc0 = 1;
108   -unsigned long decr_overclock_set = 0;
109   -unsigned long decr_overclock_proc0_set = 0;
110   -
111 106 int have_of = 1;
112 107 int boot_cpuid = 0;
113 108 int boot_cpuid_phys = 0;
114 109  
115 110  
... ... @@ -1120,63 +1115,14 @@
1120 1115 printk("[dump]%04x %s\n", src, msg);
1121 1116 }
1122 1117  
1123   -int set_spread_lpevents( char * str )
1124   -{
1125   - /* The parameter is the number of processors to share in processing lp events */
1126   - unsigned long i;
1127   - unsigned long val = simple_strtoul( str, NULL, 0 );
1128   - if ( ( val > 0 ) && ( val <= NR_CPUS ) ) {
1129   - for ( i=1; i<val; ++i )
1130   - paca[i].lpqueue_ptr = paca[0].lpqueue_ptr;
1131   - printk("lpevent processing spread over %ld processors\n", val);
1132   - }
1133   - else
1134   - printk("invalid spreaqd_lpevents %ld\n", val);
1135   - return 1;
1136   -}
1137   -
1138 1118 /* This should only be called on processor 0 during calibrate decr */
1139 1119 void setup_default_decr(void)
1140 1120 {
1141 1121 struct paca_struct *lpaca = get_paca();
1142 1122  
1143   - if ( decr_overclock_set && !decr_overclock_proc0_set )
1144   - decr_overclock_proc0 = decr_overclock;
1145   -
1146   - lpaca->default_decr = tb_ticks_per_jiffy / decr_overclock_proc0;
  1123 + lpaca->default_decr = tb_ticks_per_jiffy;
1147 1124 lpaca->next_jiffy_update_tb = get_tb() + tb_ticks_per_jiffy;
1148 1125 }
1149   -
1150   -int set_decr_overclock_proc0( char * str )
1151   -{
1152   - unsigned long val = simple_strtoul( str, NULL, 0 );
1153   - if ( ( val >= 1 ) && ( val <= 48 ) ) {
1154   - decr_overclock_proc0_set = 1;
1155   - decr_overclock_proc0 = val;
1156   - printk("proc 0 decrementer overclock factor of %ld\n", val);
1157   - }
1158   - else
1159   - printk("invalid proc 0 decrementer overclock factor of %ld\n", val);
1160   - return 1;
1161   -}
1162   -
1163   -int set_decr_overclock( char * str )
1164   -{
1165   - unsigned long val = simple_strtoul( str, NULL, 0 );
1166   - if ( ( val >= 1 ) && ( val <= 48 ) ) {
1167   - decr_overclock_set = 1;
1168   - decr_overclock = val;
1169   - printk("decrementer overclock factor of %ld\n", val);
1170   - }
1171   - else
1172   - printk("invalid decrementer overclock factor of %ld\n", val);
1173   - return 1;
1174   -
1175   -}
1176   -
1177   -__setup("spread_lpevents=", set_spread_lpevents );
1178   -__setup("decr_overclock_proc0=", set_decr_overclock_proc0 );
1179   -__setup("decr_overclock=", set_decr_overclock );
1180 1126  
1181 1127 #ifndef CONFIG_PPC_ISERIES
1182 1128 /*
arch/ppc64/kernel/smp.c
... ... @@ -334,7 +334,6 @@
334 334 }
335 335 }
336 336  
337   -extern unsigned long decr_overclock;
338 337 extern struct gettimeofday_struct do_gtod;
339 338  
340 339 struct thread_info *current_set[NR_CPUS];
... ... @@ -491,7 +490,7 @@
491 490 if (smp_ops->cpu_bootable && !smp_ops->cpu_bootable(cpu))
492 491 return -EINVAL;
493 492  
494   - paca[cpu].default_decr = tb_ticks_per_jiffy / decr_overclock;
  493 + paca[cpu].default_decr = tb_ticks_per_jiffy;
495 494  
496 495 if (!cpu_has_feature(CPU_FTR_SLB)) {
497 496 void *tmp;