WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] [IA64] ia64 softirq clean ups.

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] ia64 softirq clean ups.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 28 Jul 2006 16:20:35 +0000
Delivery-date: Fri, 28 Jul 2006 09:25:12 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID f24993f27cc40216b48e585bb33038dc0b950441
# Parent  3041cac985d62f6b2a5b2bdf45a17b95f43f6d7c
[IA64] ia64 softirq clean ups.

This is the counter part of the C/S
10565:53f552ad404234c457fdd62560c9e8b0ea976674
Xen softirq is only checked only before returning to domain context.
So that it's non-sense to check in_interrupt() and add/sub SOFTIRQ_OFFSET.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/arch/ia64/linux-xen/entry.S |    2 +-
 xen/arch/ia64/vmx/vmx_process.c |    3 +--
 xen/arch/ia64/xen/domain.c      |    8 ++------
 xen/arch/ia64/xen/irq.c         |   13 -------------
 4 files changed, 4 insertions(+), 22 deletions(-)

diff -r 3041cac985d6 -r f24993f27cc4 xen/arch/ia64/linux-xen/entry.S
--- a/xen/arch/ia64/linux-xen/entry.S   Thu Jul 06 08:27:04 2006 -0600
+++ b/xen/arch/ia64/linux-xen/entry.S   Thu Jul 06 08:30:17 2006 -0600
@@ -892,7 +892,7 @@ GLOBAL_ENTRY(ia64_leave_kernel)
 #ifdef XEN
        ;;
 (pUStk) ssm psr.i
-(pUStk)    br.call.sptk.many b0=process_soft_irq
+(pUStk)    br.call.sptk.many b0=do_softirq
 (pUStk) rsm psr.i
     ;;
        alloc loc0=ar.pfs,0,1,1,0
diff -r 3041cac985d6 -r f24993f27cc4 xen/arch/ia64/vmx/vmx_process.c
--- a/xen/arch/ia64/vmx/vmx_process.c   Thu Jul 06 08:27:04 2006 -0600
+++ b/xen/arch/ia64/vmx/vmx_process.c   Thu Jul 06 08:30:17 2006 -0600
@@ -190,8 +190,7 @@ void leave_hypervisor_tail(struct pt_reg
     if (!is_idle_domain(d) ) { // always comes from guest
         extern void vmx_dorfirfi(void);
         struct pt_regs *user_regs = vcpu_regs(current);
-        if (local_softirq_pending())
-            do_softirq();
+        do_softirq();
         local_irq_disable();
 
         if (user_regs != regs)
diff -r 3041cac985d6 -r f24993f27cc4 xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c        Thu Jul 06 08:27:04 2006 -0600
+++ b/xen/arch/ia64/xen/domain.c        Thu Jul 06 08:30:17 2006 -0600
@@ -217,16 +217,14 @@ void continue_running(struct vcpu *same)
 
 static void default_idle(void)
 {
-       int cpu = smp_processor_id();
        local_irq_disable();
-       if ( !softirq_pending(cpu))
+       if ( !softirq_pending(smp_processor_id()) )
                safe_halt();
        local_irq_enable();
 }
 
 static void continue_cpu_idle_loop(void)
 {
-       int cpu = smp_processor_id();
        for ( ; ; )
        {
 #ifdef IA64
@@ -234,12 +232,10 @@ static void continue_cpu_idle_loop(void)
 #else
            irq_stat[cpu].idle_timestamp = jiffies;
 #endif
-           while ( !softirq_pending(cpu) )
+           while ( !softirq_pending(smp_processor_id()) )
                default_idle();
-           add_preempt_count(SOFTIRQ_OFFSET);
            raise_softirq(SCHEDULE_SOFTIRQ);
            do_softirq();
-           sub_preempt_count(SOFTIRQ_OFFSET);
        }
 }
 
diff -r 3041cac985d6 -r f24993f27cc4 xen/arch/ia64/xen/irq.c
--- a/xen/arch/ia64/xen/irq.c   Thu Jul 06 08:27:04 2006 -0600
+++ b/xen/arch/ia64/xen/irq.c   Thu Jul 06 08:30:17 2006 -0600
@@ -499,19 +499,6 @@ void irq_exit(void)
        sub_preempt_count(IRQ_EXIT_OFFSET);
 }
 
-/*
- * ONLY gets called from ia64_leave_kernel
- * ONLY call with interrupts enabled
- */
-void process_soft_irq(void)
-{
-       if (!in_interrupt() && local_softirq_pending()) {
-               add_preempt_count(SOFTIRQ_OFFSET);
-               do_softirq();
-               sub_preempt_count(SOFTIRQ_OFFSET);
-       }
-}
-
 // this is a temporary hack until real console input is implemented
 void guest_forward_keyboard_input(int irq, void *nada, struct pt_regs *regs)
 {

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] ia64 softirq clean ups., Xen patchbot-unstable <=