[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 5/9] libxc: support XEN_DOMCTL_devour
Introduce new xc_domain_devour() function to support XEN_DOMCTL_devour. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> --- tools/libxc/include/xenctrl.h | 14 ++++++++++++++ tools/libxc/xc_domain.c | 13 +++++++++++++ 2 files changed, 27 insertions(+) diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h index 0ad8b8d..a789de3 100644 --- a/tools/libxc/include/xenctrl.h +++ b/tools/libxc/include/xenctrl.h @@ -558,6 +558,20 @@ int xc_domain_unpause(xc_interface *xch, int xc_domain_destroy(xc_interface *xch, uint32_t domid); +/** + * This function sets a 'recipient' domain for a domain (when the source domain + * releases memory it is being reassigned to the recipient domain instead of + * being freed) and kills the original domain. The destination domain is supposed + * to have enough max_mem and no pages assigned. + * + * @parm xch a handle to an open hypervisor interface + * @parm domid the source domain id + * @parm recipient the destrination domain id + * @return 0 on success, -1 on failure + */ +int xc_domain_devour(xc_interface *xch, + uint32_t domid, uint32_t recipient); + /** * This function resumes a suspended domain. The domain should have diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c index b864872..5949725 100644 --- a/tools/libxc/xc_domain.c +++ b/tools/libxc/xc_domain.c @@ -122,6 +122,19 @@ int xc_domain_destroy(xc_interface *xch, return ret; } +int xc_domain_devour(xc_interface *xch, uint32_t domid, uint32_t recipient) +{ + int ret; + DECLARE_DOMCTL; + domctl.cmd = XEN_DOMCTL_devour; + domctl.domain = (domid_t)domid; + domctl.u.devour.recipient = (domid_t)recipient; + do { + ret = do_domctl(xch, &domctl); + } while ( ret && (errno == EAGAIN) ); + return ret; +} + int xc_domain_shutdown(xc_interface *xch, uint32_t domid, int reason) -- 1.9.3 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |