aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64/kernel/ItLpQueue.c
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2005-06-30 15:07:33 +1000
committerPaul Mackerras <paulus@samba.org>2005-06-30 15:07:33 +1000
commit0c885c175c06bdfe13e88d974d56a5e93ad2f544 (patch)
treed1986e295a8cfa02184c0f1d154cee2ce21fb06b /arch/ppc64/kernel/ItLpQueue.c
parent[PATCH] ppc64: Spread lpevents by default on iSeries (diff)
downloadlinux-dev-0c885c175c06bdfe13e88d974d56a5e93ad2f544.tar.xz
linux-dev-0c885c175c06bdfe13e88d974d56a5e93ad2f544.zip
[PATCH] ppc64: Move set_spread_lpevents() into ItLpQueue.c
The only code outside ItLpQueue.c that refers to spread_lpevents is in set_apread_lpevents(), so move it inside ItLpQueue.c and make spread_lpevents static. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64/kernel/ItLpQueue.c')
-rw-r--r--arch/ppc64/kernel/ItLpQueue.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/arch/ppc64/kernel/ItLpQueue.c b/arch/ppc64/kernel/ItLpQueue.c
index d37793467808..61be23ed5004 100644
--- a/arch/ppc64/kernel/ItLpQueue.c
+++ b/arch/ppc64/kernel/ItLpQueue.c
@@ -69,7 +69,7 @@ struct HvLpEvent * ItLpQueue_getNextLpEvent( struct ItLpQueue * lpQueue )
return nextLpEvent;
}
-unsigned long spread_lpevents = NR_CPUS;
+static unsigned long spread_lpevents = NR_CPUS;
int ItLpQueue_isLpIntPending( struct ItLpQueue * lpQueue )
{
@@ -166,3 +166,23 @@ unsigned ItLpQueue_process( struct ItLpQueue * lpQueue, struct pt_regs *regs )
return numIntsProcessed;
}
+
+static int set_spread_lpevents(char *str)
+{
+ 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)) {
+ spread_lpevents = val;
+ 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);
+