On 15/06/18 14:26, Juergen Gross wrote:
> diff --git a/tools/libxc/xc_private.h b/tools/libxc/xc_private.h
> index 03bc9a7776..18add80232 100644
> --- a/tools/libxc/xc_private.h
> +++ b/tools/libxc/xc_private.h
> @@ -254,9 +254,12 @@ out1:
>      return ret;
>  }
>  
> -static inline int do_domctl(xc_interface *xch, struct xen_domctl *domctl)
> +static inline int do_domctl_maybe_retry(xc_interface *xch, struct xen_domctl 
> *domctl,
> +                                        unsigned int retries)

I recommend renaming this do_domctl_retry_efault() to make it explicit
which error causes a retry.  We've got other a few other adhoc places
which retry on other errors.

> @@ -281,6 +287,18 @@ static inline int do_domctl(xc_interface *xch, struct 
> xen_domctl *domctl)
>      return ret;
>  }
>  
> +static inline int do_domctl(xc_interface *xch, struct xen_domctl *domctl)
> +{
> +    return do_domctl_maybe_retry(xch, domctl, 0);
> +}
> +
> +static inline int do_domctl_retry(xc_interface *xch, struct xen_domctl 
> *domctl)
> +{
> +    unsigned int retries = xencall_buffers_never_fault(xch->xcall) ? 0 : 2;

Probably a very minor issue, but is it worth caching never_fault once
when opening the xc_interface?  Calling into a separate shared object on
every domctl isn't the height of efficiency.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to