|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH 2/2] passthrough: deliver IRQs even if bsp is hal
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
|
|
|
|
|