X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fvserver.h;h=8c67e777dc1e0b60c74b2d0187e3c4461875e28c;hb=3a3702c1e9d56814fd40646745cdecbd3062fe23;hp=a6708a7e06e100fa360669ed2f6ab7e7c66b5faa;hpb=0d4cba12770c5b09a3380f456a6a2f6787042ee7;p=util-vserver.git diff --git a/lib/vserver.h b/lib/vserver.h index a6708a7..8c67e77 100644 --- a/lib/vserver.h +++ b/lib/vserver.h @@ -225,6 +225,7 @@ #define VC_VXSM_IDLE_TIME 0x0200 #define VC_VXSM_FORCE 0x0400 +#define VC_VXSM_MSEC 0x4000 #define VC_VXSM_V3_MASK 0x0173 @@ -414,7 +415,7 @@ extern "C" { /** \brief Contains further statistics about a context. */ struct vc_virt_stat { uint_least64_t offset; - uint_least32_t uptime; + uint_least64_t uptime; uint_least32_t nr_threads; uint_least32_t nr_running; uint_least32_t nr_uninterruptible; @@ -720,9 +721,9 @@ extern "C" { /** Get a disk limit. */ int vc_get_dlimit(char const *filename, xid_t xid, uint_least32_t flags, - struct vc_ctx_dlimit *limits) VC_ATTR_NONNULL((1,4)); + struct vc_ctx_dlimit *limits) VC_ATTR_NONNULL((1)); - /* misc. syscalls */ + /* scheduler related syscalls */ struct vc_set_sched { uint_least32_t set_mask; int_least32_t fill_rate; @@ -739,6 +740,19 @@ extern "C" { int vc_set_sched(xid_t xid, struct vc_set_sched const *) VC_ATTR_NONNULL((2)); + struct vc_sched_info { + int_least32_t cpu_id; + int_least32_t bucket_id; + uint_least64_t user_msec; + uint_least64_t sys_msec; + uint_least64_t hold_msec; + uint_least32_t token_usec; + int_least32_t vavavoom; + }; + + int vc_sched_info(xid_t xid, struct vc_sched_info *info) VC_ATTR_NONNULL((2)); + + /* misc. syscalls */ int vc_set_mapping(xid_t xid, const char *device, const char *target, uint32_t flags); @@ -870,7 +884,7 @@ extern "C" { vcFEATURE_COMPAT, vcFEATURE_MIGRATE, vcFEATURE_NAMESPACE, vcFEATURE_SCHED, vcFEATURE_VINFO, vcFEATURE_VHI, vcFEATURE_VSHELPER0, vcFEATURE_VSHELPER, vcFEATURE_VWAIT, - vcFEATURE_VNET } + vcFEATURE_VNET, vcFEATURE_VSTAT } vcFeatureSet; bool vc_isSupported(vcFeatureSet) VC_ATTR_CONST;