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-devel

[Xen-devel] do_softirq + interrupts

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] do_softirq + interrupts
From: Hollis Blanchard <hollisb@xxxxxxxxxx>
Date: Thu, 1 Sep 2005 18:14:48 -0500
Delivery-date: Thu, 01 Sep 2005 23:14:08 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: IBM Linux Technology Center
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.8.2
On PPC I'm having a race with do_softirq, so I'm trying to figure out how x86 
calls it. As far as I can tell, it looks like this:

        apic_timer_interrupt <interrupts disabled>
        smp_apic_timer_interrupt [raise TIMER_SOFTIRQ)]
        ret_from_intr
        test_all_events [sees TIMER_SOFTIRQ]
        <interrupts enabled>
        do_softirq()
                ***
                pending = softirq_pending(cpu);
                ASSERT(pending != 0);
                ...
        <interrupts disabled>
        iret

What confuses me is that any other interrupt could come in at point *** above, 
right? That interrupt will follow a very similar path, calling do_softirq 
again, and handle TIMER_SOFTIRQ. Then when the first do_softirq resumes, the 
ASSERT will trip.

What am I missing?

-- 
Hollis Blanchard
IBM Linux Technology Center

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

<Prev in Thread] Current Thread [Next in Thread>