On 15/06/18 16:54, Andrew Cooper wrote: > 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.
Okay. > >> @@ -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. Via a global variable or by extending struct xc_interface_core? Ian? Juergen _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel