|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] Various softirq cleanups:
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 3838105ab03b9c8c7f024cc44159d8232b1285c1
# Parent f6a7f2657ff3d3e5a8e93949c39c632402d5b668
Various softirq cleanups:
1. Make __softirq_pending a long, since PPC borrows the file
hardirq.h from us and they only do atomic ops on longs.
2. do_softirq() explicitly takes a void param list.
3. Remove idle_timestamp field from irq_cpustat. It's unused
and lets us simplify the idle loop a little bit.
Part 1 based on a patch from Hollis Blanchard at IBM.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
diff -r f6a7f2657ff3 -r 3838105ab03b xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c Fri Mar 31 10:04:42 2006
+++ b/xen/arch/x86/domain.c Fri Mar 31 11:03:42 2006
@@ -79,15 +79,12 @@
for ( ; ; )
{
- irq_stat[cpu].idle_timestamp = jiffies;
-
- while ( !softirq_pending(cpu) )
- {
- page_scrub_schedule_work();
- default_idle();
- }
-
- do_softirq();
+ page_scrub_schedule_work();
+
+ default_idle();
+
+ if ( softirq_pending(cpu) )
+ do_softirq();
}
}
diff -r f6a7f2657ff3 -r 3838105ab03b xen/common/softirq.c
--- a/xen/common/softirq.c Fri Mar 31 10:04:42 2006
+++ b/xen/common/softirq.c Fri Mar 31 11:03:42 2006
@@ -21,9 +21,10 @@
static softirq_handler softirq_handlers[NR_SOFTIRQS];
-asmlinkage void do_softirq()
+asmlinkage void do_softirq(void)
{
- unsigned int i, pending, cpu = smp_processor_id();
+ unsigned int i, cpu = smp_processor_id();
+ unsigned long pending;
pending = softirq_pending(cpu);
ASSERT(pending != 0);
diff -r f6a7f2657ff3 -r 3838105ab03b xen/include/asm-x86/hardirq.h
--- a/xen/include/asm-x86/hardirq.h Fri Mar 31 10:04:42 2006
+++ b/xen/include/asm-x86/hardirq.h Fri Mar 31 11:03:42 2006
@@ -5,10 +5,9 @@
#include <xen/cache.h>
typedef struct {
- unsigned int __softirq_pending;
+ unsigned long __softirq_pending;
unsigned int __local_irq_count;
unsigned int __nmi_count;
- unsigned long idle_timestamp;
} __cacheline_aligned irq_cpustat_t;
#include <xen/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] Various softirq cleanups:,
Xen patchbot -unstable <=
|
|
|
|
|