diff options
Diffstat (limited to 'arch/ppc64/kernel/ItLpQueue.c')
-rw-r--r-- | arch/ppc64/kernel/ItLpQueue.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/arch/ppc64/kernel/ItLpQueue.c b/arch/ppc64/kernel/ItLpQueue.c index d3779346780..61be23ed500 100644 --- a/arch/ppc64/kernel/ItLpQueue.c +++ b/arch/ppc64/kernel/ItLpQueue.c | |||
@@ -69,7 +69,7 @@ struct HvLpEvent * ItLpQueue_getNextLpEvent( struct ItLpQueue * lpQueue ) | |||
69 | return nextLpEvent; | 69 | return nextLpEvent; |
70 | } | 70 | } |
71 | 71 | ||
72 | unsigned long spread_lpevents = NR_CPUS; | 72 | static unsigned long spread_lpevents = NR_CPUS; |
73 | 73 | ||
74 | int ItLpQueue_isLpIntPending( struct ItLpQueue * lpQueue ) | 74 | int ItLpQueue_isLpIntPending( struct ItLpQueue * lpQueue ) |
75 | { | 75 | { |
@@ -166,3 +166,23 @@ unsigned ItLpQueue_process( struct ItLpQueue * lpQueue, struct pt_regs *regs ) | |||
166 | 166 | ||
167 | return numIntsProcessed; | 167 | return numIntsProcessed; |
168 | } | 168 | } |
169 | |||
170 | static int set_spread_lpevents(char *str) | ||
171 | { | ||
172 | unsigned long val = simple_strtoul(str, NULL, 0); | ||
173 | |||
174 | /* | ||
175 | * The parameter is the number of processors to share in processing | ||
176 | * lp events. | ||
177 | */ | ||
178 | if (( val > 0) && (val <= NR_CPUS)) { | ||
179 | spread_lpevents = val; | ||
180 | printk("lpevent processing spread over %ld processors\n", val); | ||
181 | } else { | ||
182 | printk("invalid spread_lpevents %ld\n", val); | ||
183 | } | ||
184 | |||
185 | return 1; | ||
186 | } | ||
187 | __setup("spread_lpevents=", set_spread_lpevents); | ||
188 | |||