Commit c4eb2a93319d61923635c84a5f5e68965b14c754
Committed by
Linus Torvalds
1 parent
6dc2f0c7df
Exists in
master
and in
4 other branches
[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; |