[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.