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

Re: [Xen-ia64-devel] [PATCH 6/12]MCA handler support for Xen/ia64 TAKE 2

To: SUZUKI Kazuhiro <kaz@xxxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] [PATCH 6/12]MCA handler support for Xen/ia64 TAKE 2
From: Alex Williamson <alex.williamson@xxxxxx>
Date: Sun, 24 Sep 2006 19:22:39 -0600
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Sun, 24 Sep 2006 18:22:58 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20060922.193300.19299713.kaz@xxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: OSLO R&D
References: <20060922.193058.68551752.kaz@xxxxxxxxxxxxxxxxxx> <20060922.193300.19299713.kaz@xxxxxxxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Fri, 2006-09-22 at 19:33 +0900, SUZUKI Kazuhiro wrote:
> [6/12]  Add sal emulation.[mca-fw_emul.patch]

>           case SAL_GET_STATE_INFO:
...
> +
> +                     spin_lock_irqsave(&sal_queue_lock, flags);
> +
...
> +                             ret = smp_call_function_single(e->cpuid, 
> get_state_info_on, &arg, 0, 1);

   Both SAL_GET_STATE_INFO and SAL_CLEAR_STATE_INFO use
smp_call_function_single() with interrupts disabled.  This is dangerous
and can lead to deadlocks.  Imagine if two processors called
smp_call_function_single() with interrupts disabled, possibly from
unrelated code paths.  One processor would get the call_lock and send an
IPI to the second processor.  However, the second processor is spinning
trying to get the call_lock with interrupts disabled.... hang.  Thanks,

        Alex

-- 
Alex Williamson                             HP Open Source & Linux Org.


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

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