[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


 


Rackspace

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