Lines Matching refs:ctx
67 int libxl_cpupool_info(libxl_ctx *ctx, in libxl_cpupool_info() argument
70 GC_INIT(ctx); in libxl_cpupool_info()
76 libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx *ctx, int *nb_pool_out) in libxl_list_cpupool() argument
78 GC_INIT(ctx); in libxl_list_cpupool()
113 int libxl_get_freecpus(libxl_ctx *ctx, libxl_bitmap *cpumap) in libxl_get_freecpus() argument
117 ncpus = libxl_get_max_cpus(ctx); in libxl_get_freecpus()
121 cpumap->map = xc_cpupool_freeinfo(ctx->xch); in libxl_get_freecpus()
130 int libxl_cpupool_create(libxl_ctx *ctx, const char *name, in libxl_cpupool_create() argument
135 GC_INIT(ctx); in libxl_cpupool_create()
155 rc = xc_cpupool_create(ctx->xch, &xcpoolid, sched); in libxl_cpupool_create()
165 rc = xc_cpupool_addcpu(ctx->xch, *poolid, i); in libxl_cpupool_create()
168 libxl_cpupool_destroy(ctx, *poolid); in libxl_cpupool_create()
175 t = xs_transaction_start(ctx->xsh); in libxl_cpupool_create()
177 xs_mkdir(ctx->xsh, t, GCSPRINTF("/local/pool/%d", *poolid)); in libxl_cpupool_create()
185 if (xs_transaction_end(ctx->xsh, t, 0) || (errno != EAGAIN)) { in libxl_cpupool_create()
192 int libxl_cpupool_destroy(libxl_ctx *ctx, uint32_t poolid) in libxl_cpupool_destroy() argument
194 GC_INIT(ctx); in libxl_cpupool_destroy()
200 info = xc_cpupool_getinfo(ctx->xch, poolid); in libxl_cpupool_destroy()
210 rc = libxl_cpu_bitmap_alloc(ctx, &cpumap, 0); in libxl_cpupool_destroy()
217 rc = xc_cpupool_removecpu(ctx->xch, poolid, i); in libxl_cpupool_destroy()
225 rc = xc_cpupool_destroy(ctx->xch, poolid); in libxl_cpupool_destroy()
233 t = xs_transaction_start(ctx->xsh); in libxl_cpupool_destroy()
235 xs_rm(ctx->xsh, XBT_NULL, GCSPRINTF("/local/pool/%d", poolid)); in libxl_cpupool_destroy()
237 if (xs_transaction_end(ctx->xsh, t, 0) || (errno != EAGAIN)) in libxl_cpupool_destroy()
246 xc_cpupool_infofree(ctx->xch, info); in libxl_cpupool_destroy()
252 int libxl_cpupool_rename(libxl_ctx *ctx, const char *name, uint32_t poolid) in libxl_cpupool_rename() argument
254 GC_INIT(ctx); in libxl_cpupool_rename()
259 info = xc_cpupool_getinfo(ctx->xch, poolid); in libxl_cpupool_rename()
272 t = xs_transaction_start(ctx->xsh); in libxl_cpupool_rename()
278 if (xs_transaction_end(ctx->xsh, t, 0)) in libxl_cpupool_rename()
289 xc_cpupool_infofree(ctx->xch, info); in libxl_cpupool_rename()
295 int libxl_cpupool_cpuadd(libxl_ctx *ctx, uint32_t poolid, int cpu) in libxl_cpupool_cpuadd() argument
297 GC_INIT(ctx); in libxl_cpupool_cpuadd()
300 rc = xc_cpupool_addcpu(ctx->xch, poolid, cpu); in libxl_cpupool_cpuadd()
310 int libxl_cpupool_cpuadd_cpumap(libxl_ctx *ctx, uint32_t poolid, in libxl_cpupool_cpuadd_cpumap() argument
316 if (!libxl_cpupool_cpuadd(ctx, poolid, c)) in libxl_cpupool_cpuadd_cpumap()
326 int libxl_cpupool_cpuadd_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus) in libxl_cpupool_cpuadd_node() argument
333 if (libxl_get_freecpus(ctx, &freemap)) { in libxl_cpupool_cpuadd_node()
337 topology = libxl_get_cpu_topology(ctx, &nr); in libxl_cpupool_cpuadd_node()
346 !libxl_cpupool_cpuadd(ctx, poolid, cpu)) { in libxl_cpupool_cpuadd_node()
358 int libxl_cpupool_cpuremove(libxl_ctx *ctx, uint32_t poolid, int cpu) in libxl_cpupool_cpuremove() argument
360 GC_INIT(ctx); in libxl_cpupool_cpuremove()
363 rc = xc_cpupool_removecpu(ctx->xch, poolid, cpu); in libxl_cpupool_cpuremove()
373 int libxl_cpupool_cpuremove_cpumap(libxl_ctx *ctx, uint32_t poolid, in libxl_cpupool_cpuremove_cpumap() argument
379 if (!libxl_cpupool_cpuremove(ctx, poolid, c)) in libxl_cpupool_cpuremove_cpumap()
389 int libxl_cpupool_cpuremove_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus) in libxl_cpupool_cpuremove_node() argument
398 poolinfo = libxl_list_cpupool(ctx, &n_pools); in libxl_cpupool_cpuremove_node()
403 topology = libxl_get_cpu_topology(ctx, &nr_cpus); in libxl_cpupool_cpuremove_node()
415 !libxl_cpupool_cpuremove(ctx, poolid, cpu)) { in libxl_cpupool_cpuremove_node()
430 int libxl_cpupool_movedomain(libxl_ctx *ctx, uint32_t poolid, uint32_t domid) in libxl_cpupool_movedomain() argument
432 GC_INIT(ctx); in libxl_cpupool_movedomain()
435 rc = xc_cpupool_movedomain(ctx->xch, poolid, domid); in libxl_cpupool_movedomain()