|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v7 05/11] IOMMU/MMU: propagate IOMMU Device-TLB flush error up to iommu_iotlb_flush{, _all} (top level ones)
>>> On 09.06.16 at 13:12, <julien.grall@xxxxxxx> wrote:
> On 08/06/16 09:58, Xu, Quan wrote:
>> From: Quan Xu <quan.xu@xxxxxxxxx>
>>
>> Signed-off-by: Quan Xu <quan.xu@xxxxxxxxx>
>> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
>>
>> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
>> CC: Julien Grall <julien.grall@xxxxxxx>
>> CC: Jan Beulich <jbeulich@xxxxxxxx>
>> CC: Kevin Tian <kevin.tian@xxxxxxxxx>
>> ---
>> xen/arch/arm/p2m.c | 4 +++-
>> xen/common/memory.c | 12 ++++++++++--
>> xen/drivers/passthrough/iommu.c | 13 +++++++++----
>> xen/drivers/passthrough/x86/iommu.c | 5 +++--
>> xen/include/xen/iommu.h | 5 +++--
>> 5 files changed, 28 insertions(+), 11 deletions(-)
>>
>> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
>> index 6a19c57..65d8f1a 100644
>> --- a/xen/arch/arm/p2m.c
>> +++ b/xen/arch/arm/p2m.c
>> @@ -1178,7 +1178,9 @@ out:
>> if ( flush )
>> {
>> flush_tlb_domain(d);
>> - iommu_iotlb_flush(d, sgfn, egfn - sgfn);
>> + ret = iommu_iotlb_flush(d, sgfn, egfn - sgfn);
>
> Sorry for coming late in the discussion. What kind of error do you
> expect to return with iommu_tlb_flush?
>
> Today the ARM SMMU will always return 0 if the TLB flush timeout (see
> arm_smmu_tlb_inv_context).
>
> We may want in the future to return an error when it has timeout,
> however only returning an error is not safe at all. The TLB may contain
> entries which are invalid (because we remove the mapping earlier) and a
> device/domain could take advantage of that.
>
> So I am not sure if we should let running the guest when a flush has
> timeout. Any thoughts?
Well, did you look at the rest of this series, and the other dependent
one? Guests (other than Dom0) get crashed when a flush times out. I
guess that's what you will want on ARM then too.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |