|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 1/2] VT-d: Reduce spin timeout to 1ms, which can be boot-time changed.
> On 14.12.2015 at 5:14pm, <JBeulich@xxxxxxxx> wrote:
> >>> On 12.12.15 at 14:21, <quan.xu@xxxxxxxxx> wrote:
> > @@ -167,10 +172,12 @@ static int queue_invalidate_wait(struct iommu
> *iommu,
> > start_time = NOW();
> > while ( poll_slot != QINVAL_STAT_DONE )
> > {
> > - if ( NOW() > (start_time + DMAR_OPERATION_TIMEOUT) )
> > + if ( NOW() > (start_time + IOMMU_QI_TIMEOUT) )
> > {
> > print_qi_regs(iommu);
> > - panic("queue invalidate wait descriptor was not
> executed");
> > + dprintk(XENLOG_WARNING VTDPREFIX,
> > + "Queue invalidate wait descriptor was
> timeout.\n");
> > + return -ETIMEDOUT;
> > }
>
> Without the v2 discussion even having finished, and without you having taken
> care of v2 comments here, I don't see much value in this v3.
>
I should check for _any_ kind_of_error and all_the_way_up_the_call_trees in
[patch 1/2].
1. For _any_ kind_of_error,
now it includes '-ETIMEDOUT' and '-EOPNOTSUPP'. I should check the return code,
if it is _not_ZERO.
The callers need to also either pass it on or deal with it. (if the return code
is _not_ZERO, it should check whether it is '-ETIMEDOUT' in [patch 2/2])
2. all_the_way_up_the_call_trees
.i.e
enable_intremap()
|--iommu_flush_iec_global()
|--__iommu_flush_iec()
|--invalidate_sync()
In enable_intremap(), if iommu_flush_iec_global() is failed, enable_intremap()
should deal with this error and then return.
right?
Jan, thanks for your patience.
Quan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |