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

Re: [Xen-devel] [PATCH 2/2] passthrough: deliver IRQs even if bsp is halted (support kexec/kdump on hvm)



On 30/06/2009 10:09, "Cui, Dexuan" <dexuan.cui@xxxxxxxxx> wrote:

>> @@ -437,7 +444,7 @@ void hvm_dirq_assist(struct vcpu *v)
>>      struct hvm_irq_dpci *hvm_irq_dpci = d->arch.hvm_domain.irq.dpci;
>>      struct dev_intx_gsi_link *digl;
>>  
>> -    if ( !iommu_enabled || (v->vcpu_id != 0) || (hvm_irq_dpci == NULL) )
>> +    if ( !iommu_enabled || (hvm_irq_dpci == NULL) )
>>          return;
>>  
>>      for ( irq = find_first_bit(hvm_irq_dpci->dirq_mask, d->nr_pirqs);
> 
> With the patch applied, every vcpu of a domain can access the
> hvm_irq_dpci->dirq_mask concurrently!
> I think some usage of spinlock must be introduced if you'd like to do so.

The test_and_clear_bit() at the start of the loop body probably provides the
required mutual exclusion.

 -- Keir



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


 


Rackspace

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