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
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel