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

Re: [Xen-devel] Interrupt code cleanup [RFC]

To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Subject: Re: [Xen-devel] Interrupt code cleanup [RFC]
From: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
Date: Thu, 1 Sep 2011 10:03:37 +0100
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir.xen@xxxxxxxxx>
Delivery-date: Thu, 01 Sep 2011 02:07:28 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=9LWASKiKWTBWnu68ftfhqZanITvUiw3j2PRJNrLz7V0=; b=WTGP0i27r3H0c5vaxqv4Xtkhj4v7DUX8N8vmeF+tofiqsIcUxaA2JGRxPgtH7JpeG2 wnXOBvfFM+eHSNFEaCssFOrRWeDFE0O0JIMSHPDbf0IPtZ3Xh6E1+IXHuxT8K7NfJCRz iSze+gbinkzWKw+mzoeuM727XRjBkDXzp/lI0=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4E5E58AD.9060500@xxxxxxxxxx>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4E5E58AD.9060500@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Wed, Aug 31, 2011 at 4:52 PM, Andrew Cooper
<andrew.cooper3@xxxxxxxxxx> wrote:
> Are there any areas people have noticed where the irq code is limited
> and could be improved?

The locking seems a bit strange too, and doesn't seem to be documented
anywhere.  For instance, in irq.c:__clear_irq_vector(),
cfg->move_in_progress is protected by vector_lock.  But in
io_apic.c:send_cleanup_vector(), cfg->move_in_progress is read without
any locks, and cfg->move_cleanup_count is written without any locks,
or any memory barriers; but in smp_irq_move_cleanup_interrupt(),
cfg->move_cleanup_count is protected by desc->lock.

It may be that this is all OK and carefully thought out, but it's a
bit hard to believe.  And even if it were carefully thought out, if
it's not either obvious or documented, at some point someone will make
a change that breaks the delicately balanced invariants.

I'm taking a look at that now...

 -George

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

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [Xen-devel] Interrupt code cleanup [RFC], George Dunlap <=