diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2005-06-30 01:15:53 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-06-30 01:15:53 -0400 |
commit | 74889802a1585af4e1652f0cb853ac22a65816a4 (patch) | |
tree | 4edf4b33345b2a986a52d67d1b47137f399eef8c | |
parent | 937b31b114b5540f456ce1566aae67e02db41f2c (diff) |
[PATCH] ppc64: Don't count number of events processed for caller
Currently we count the number of lpevents processed in 3 seperate places.
One of these counters is never read, so just remove it. This means
hvlpevent_queue_process() no longer needs to return the number of events
processed.
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>
-rw-r--r-- | arch/ppc64/kernel/ItLpQueue.c | 9 | ||||
-rw-r--r-- | arch/ppc64/kernel/irq.c | 3 | ||||
-rw-r--r-- | arch/ppc64/kernel/mf.c | 3 | ||||
-rw-r--r-- | arch/ppc64/kernel/time.c | 3 | ||||
-rw-r--r-- | include/asm-ppc64/iSeries/ItLpQueue.h | 2 |
5 files changed, 6 insertions, 14 deletions
diff --git a/arch/ppc64/kernel/ItLpQueue.c b/arch/ppc64/kernel/ItLpQueue.c index a81e49b91af0..a849f6775ad6 100644 --- a/arch/ppc64/kernel/ItLpQueue.c +++ b/arch/ppc64/kernel/ItLpQueue.c | |||
@@ -127,14 +127,14 @@ static void hvlpevent_clear_valid( struct HvLpEvent * event ) | |||
127 | event->xFlags.xValid = 0; | 127 | event->xFlags.xValid = 0; |
128 | } | 128 | } |
129 | 129 | ||
130 | unsigned process_hvlpevents(struct pt_regs *regs) | 130 | void process_hvlpevents(struct pt_regs *regs) |
131 | { | 131 | { |
132 | unsigned numIntsProcessed = 0; | 132 | unsigned numIntsProcessed = 0; |
133 | struct HvLpEvent * nextLpEvent; | 133 | struct HvLpEvent * nextLpEvent; |
134 | 134 | ||
135 | /* If we have recursed, just return */ | 135 | /* If we have recursed, just return */ |
136 | if ( !set_inUse() ) | 136 | if ( !set_inUse() ) |
137 | return 0; | 137 | return; |
138 | 138 | ||
139 | if (ItLpQueueInProcess == 0) | 139 | if (ItLpQueueInProcess == 0) |
140 | ItLpQueueInProcess = 1; | 140 | ItLpQueueInProcess = 1; |
@@ -144,9 +144,6 @@ unsigned process_hvlpevents(struct pt_regs *regs) | |||
144 | for (;;) { | 144 | for (;;) { |
145 | nextLpEvent = get_next_hvlpevent(); | 145 | nextLpEvent = get_next_hvlpevent(); |
146 | if ( nextLpEvent ) { | 146 | if ( nextLpEvent ) { |
147 | /* Count events to return to caller | ||
148 | * and count processed events in hvlpevent_queue | ||
149 | */ | ||
150 | ++numIntsProcessed; | 147 | ++numIntsProcessed; |
151 | hvlpevent_queue.xLpIntCount++; | 148 | hvlpevent_queue.xLpIntCount++; |
152 | /* Call appropriate handler here, passing | 149 | /* Call appropriate handler here, passing |
@@ -186,8 +183,6 @@ unsigned process_hvlpevents(struct pt_regs *regs) | |||
186 | clear_inUse(); | 183 | clear_inUse(); |
187 | 184 | ||
188 | get_paca()->lpevent_count += numIntsProcessed; | 185 | get_paca()->lpevent_count += numIntsProcessed; |
189 | |||
190 | return numIntsProcessed; | ||
191 | } | 186 | } |
192 | 187 | ||
193 | static int set_spread_lpevents(char *str) | 188 | static int set_spread_lpevents(char *str) |
diff --git a/arch/ppc64/kernel/irq.c b/arch/ppc64/kernel/irq.c index bd4b035af622..e79420bb72a5 100644 --- a/arch/ppc64/kernel/irq.c +++ b/arch/ppc64/kernel/irq.c | |||
@@ -66,7 +66,6 @@ EXPORT_SYMBOL(irq_desc); | |||
66 | int distribute_irqs = 1; | 66 | int distribute_irqs = 1; |
67 | int __irq_offset_value; | 67 | int __irq_offset_value; |
68 | int ppc_spurious_interrupts; | 68 | int ppc_spurious_interrupts; |
69 | unsigned long lpevent_count; | ||
70 | u64 ppc64_interrupt_controller; | 69 | u64 ppc64_interrupt_controller; |
71 | 70 | ||
72 | int show_interrupts(struct seq_file *p, void *v) | 71 | int show_interrupts(struct seq_file *p, void *v) |
@@ -295,7 +294,7 @@ void do_IRQ(struct pt_regs *regs) | |||
295 | } | 294 | } |
296 | #endif /* CONFIG_SMP */ | 295 | #endif /* CONFIG_SMP */ |
297 | if (hvlpevent_is_pending()) | 296 | if (hvlpevent_is_pending()) |
298 | lpevent_count += process_hvlpevents(regs); | 297 | process_hvlpevents(regs); |
299 | 298 | ||
300 | irq_exit(); | 299 | irq_exit(); |
301 | 300 | ||
diff --git a/arch/ppc64/kernel/mf.c b/arch/ppc64/kernel/mf.c index 609bf1bda7b8..ef4a338ebd01 100644 --- a/arch/ppc64/kernel/mf.c +++ b/arch/ppc64/kernel/mf.c | |||
@@ -801,9 +801,8 @@ int mf_get_boot_rtc(struct rtc_time *tm) | |||
801 | return rc; | 801 | return rc; |
802 | /* We need to poll here as we are not yet taking interrupts */ | 802 | /* We need to poll here as we are not yet taking interrupts */ |
803 | while (rtc_data.busy) { | 803 | while (rtc_data.busy) { |
804 | extern unsigned long lpevent_count; | ||
805 | if (hvlpevent_is_pending()) | 804 | if (hvlpevent_is_pending()) |
806 | lpevent_count += process_hvlpevents(NULL); | 805 | process_hvlpevents(NULL); |
807 | } | 806 | } |
808 | return rtc_set_tm(rtc_data.rc, rtc_data.ce_msg.ce_msg, tm); | 807 | return rtc_set_tm(rtc_data.rc, rtc_data.ce_msg.ce_msg, tm); |
809 | } | 808 | } |
diff --git a/arch/ppc64/kernel/time.c b/arch/ppc64/kernel/time.c index f9c18400ebf5..909462e1adea 100644 --- a/arch/ppc64/kernel/time.c +++ b/arch/ppc64/kernel/time.c | |||
@@ -99,7 +99,6 @@ unsigned long tb_to_ns_shift; | |||
99 | struct gettimeofday_struct do_gtod; | 99 | struct gettimeofday_struct do_gtod; |
100 | 100 | ||
101 | extern unsigned long wall_jiffies; | 101 | extern unsigned long wall_jiffies; |
102 | extern unsigned long lpevent_count; | ||
103 | extern int smp_tb_synchronized; | 102 | extern int smp_tb_synchronized; |
104 | 103 | ||
105 | extern struct timezone sys_tz; | 104 | extern struct timezone sys_tz; |
@@ -368,7 +367,7 @@ int timer_interrupt(struct pt_regs * regs) | |||
368 | 367 | ||
369 | #ifdef CONFIG_PPC_ISERIES | 368 | #ifdef CONFIG_PPC_ISERIES |
370 | if (hvlpevent_is_pending()) | 369 | if (hvlpevent_is_pending()) |
371 | lpevent_count += process_hvlpevents(regs); | 370 | process_hvlpevents(regs); |
372 | #endif | 371 | #endif |
373 | 372 | ||
374 | /* collect purr register values often, for accurate calculations */ | 373 | /* collect purr register values often, for accurate calculations */ |
diff --git a/include/asm-ppc64/iSeries/ItLpQueue.h b/include/asm-ppc64/iSeries/ItLpQueue.h index f0f24a39ff6d..6ba74c0d910b 100644 --- a/include/asm-ppc64/iSeries/ItLpQueue.h +++ b/include/asm-ppc64/iSeries/ItLpQueue.h | |||
@@ -77,7 +77,7 @@ struct hvlpevent_queue { | |||
77 | extern struct hvlpevent_queue hvlpevent_queue; | 77 | extern struct hvlpevent_queue hvlpevent_queue; |
78 | 78 | ||
79 | extern int hvlpevent_is_pending(void); | 79 | extern int hvlpevent_is_pending(void); |
80 | extern unsigned process_hvlpevents(struct pt_regs *); | 80 | extern void process_hvlpevents(struct pt_regs *); |
81 | extern void setup_hvlpevent_queue(void); | 81 | extern void setup_hvlpevent_queue(void); |
82 | 82 | ||
83 | #endif /* _ITLPQUEUE_H */ | 83 | #endif /* _ITLPQUEUE_H */ |