Lines Matching refs:scinfo
174 const libxl_domain_sched_params *scinfo) in sched_arinc653_domain_set() argument
182 const libxl_domain_sched_params *scinfo) in sched_null_domain_set() argument
189 libxl_domain_sched_params *scinfo) in sched_null_domain_get() argument
196 libxl_domain_sched_params *scinfo) in sched_credit_domain_get() argument
207 libxl_domain_sched_params_init(scinfo); in sched_credit_domain_get()
208 scinfo->sched = LIBXL_SCHEDULER_CREDIT; in sched_credit_domain_get()
209 scinfo->weight = sdom.weight; in sched_credit_domain_get()
210 scinfo->cap = sdom.cap; in sched_credit_domain_get()
216 const libxl_domain_sched_params *scinfo) in sched_credit_domain_set() argument
236 if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) { in sched_credit_domain_set()
237 if (scinfo->weight < 1 || scinfo->weight > 65535) { in sched_credit_domain_set()
242 sdom.weight = scinfo->weight; in sched_credit_domain_set()
245 if (scinfo->cap != LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT) { in sched_credit_domain_set()
246 if (scinfo->cap < 0 in sched_credit_domain_set()
247 || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) { in sched_credit_domain_set()
253 sdom.cap = scinfo->cap; in sched_credit_domain_set()
279 libxl_sched_credit_params *scinfo) in libxl_sched_credit_params_get() argument
292 scinfo->tslice_ms = sparam.tslice_ms; in libxl_sched_credit_params_get()
293 scinfo->ratelimit_us = sparam.ratelimit_us; in libxl_sched_credit_params_get()
294 scinfo->vcpu_migr_delay_us = sparam.vcpu_migr_delay_us; in libxl_sched_credit_params_get()
303 libxl_sched_credit_params *scinfo) in libxl_sched_credit_params_set() argument
309 if (scinfo->tslice_ms < XEN_SYSCTL_CSCHED_TSLICE_MIN in libxl_sched_credit_params_set()
310 || scinfo->tslice_ms > XEN_SYSCTL_CSCHED_TSLICE_MAX) { in libxl_sched_credit_params_set()
316 rc = sched_ratelimit_check(gc, scinfo->ratelimit_us); in libxl_sched_credit_params_set()
320 if (scinfo->ratelimit_us > scinfo->tslice_ms*1000) { in libxl_sched_credit_params_set()
325 if (scinfo->vcpu_migr_delay_us > XEN_SYSCTL_CSCHED_MGR_DLY_MAX_US) { in libxl_sched_credit_params_set()
332 sparam.tslice_ms = scinfo->tslice_ms; in libxl_sched_credit_params_set()
333 sparam.ratelimit_us = scinfo->ratelimit_us; in libxl_sched_credit_params_set()
334 sparam.vcpu_migr_delay_us = scinfo->vcpu_migr_delay_us; in libxl_sched_credit_params_set()
343 scinfo->tslice_ms = sparam.tslice_ms; in libxl_sched_credit_params_set()
344 scinfo->ratelimit_us = sparam.ratelimit_us; in libxl_sched_credit_params_set()
345 scinfo->vcpu_migr_delay_us = sparam.vcpu_migr_delay_us; in libxl_sched_credit_params_set()
354 libxl_sched_credit2_params *scinfo) in libxl_sched_credit2_params_get() argument
367 scinfo->ratelimit_us = sparam.ratelimit_us; in libxl_sched_credit2_params_get()
376 libxl_sched_credit2_params *scinfo) in libxl_sched_credit2_params_set() argument
382 rc = sched_ratelimit_check(gc, scinfo->ratelimit_us); in libxl_sched_credit2_params_set()
385 sparam.ratelimit_us = scinfo->ratelimit_us; in libxl_sched_credit2_params_set()
394 scinfo->ratelimit_us = sparam.ratelimit_us; in libxl_sched_credit2_params_set()
403 libxl_domain_sched_params *scinfo) in sched_credit2_domain_get() argument
414 libxl_domain_sched_params_init(scinfo); in sched_credit2_domain_get()
415 scinfo->sched = LIBXL_SCHEDULER_CREDIT2; in sched_credit2_domain_get()
416 scinfo->weight = sdom.weight; in sched_credit2_domain_get()
417 scinfo->cap = sdom.cap; in sched_credit2_domain_get()
423 const libxl_domain_sched_params *scinfo) in sched_credit2_domain_set() argument
443 if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) { in sched_credit2_domain_set()
444 if (scinfo->weight < 1 || scinfo->weight > 65535) { in sched_credit2_domain_set()
449 sdom.weight = scinfo->weight; in sched_credit2_domain_set()
452 if (scinfo->cap != LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT) { in sched_credit2_domain_set()
453 if (scinfo->cap < 0 in sched_credit2_domain_set()
454 || scinfo->cap > (info.max_vcpu_id + 1) * 100) { in sched_credit2_domain_set()
460 sdom.cap = scinfo->cap; in sched_credit2_domain_set()
501 libxl_vcpu_sched_params *scinfo) in sched_rtds_vcpu_get() argument
515 if (scinfo->num_vcpus <= 0) { in sched_rtds_vcpu_get()
519 num_vcpus = scinfo->num_vcpus; in sched_rtds_vcpu_get()
522 if (scinfo->vcpus[i].vcpuid < 0 || in sched_rtds_vcpu_get()
523 scinfo->vcpus[i].vcpuid > info.max_vcpu_id) { in sched_rtds_vcpu_get()
530 vcpus[i].vcpuid = scinfo->vcpus[i].vcpuid; in sched_rtds_vcpu_get()
540 scinfo->sched = LIBXL_SCHEDULER_RTDS; in sched_rtds_vcpu_get()
542 scinfo->vcpus[i].period = vcpus[i].u.rtds.period; in sched_rtds_vcpu_get()
543 scinfo->vcpus[i].budget = vcpus[i].u.rtds.budget; in sched_rtds_vcpu_get()
544 scinfo->vcpus[i].extratime = in sched_rtds_vcpu_get()
546 scinfo->vcpus[i].vcpuid = vcpus[i].vcpuid; in sched_rtds_vcpu_get()
555 libxl_vcpu_sched_params *scinfo) in sched_rtds_vcpu_get_all() argument
569 if (scinfo->num_vcpus > 0) { in sched_rtds_vcpu_get_all()
585 scinfo->sched = LIBXL_SCHEDULER_RTDS; in sched_rtds_vcpu_get_all()
586 scinfo->num_vcpus = num_vcpus; in sched_rtds_vcpu_get_all()
587 scinfo->vcpus = libxl__calloc(NOGC, num_vcpus, in sched_rtds_vcpu_get_all()
591 scinfo->vcpus[i].period = vcpus[i].u.rtds.period; in sched_rtds_vcpu_get_all()
592 scinfo->vcpus[i].budget = vcpus[i].u.rtds.budget; in sched_rtds_vcpu_get_all()
593 scinfo->vcpus[i].extratime = in sched_rtds_vcpu_get_all()
595 scinfo->vcpus[i].vcpuid = vcpus[i].vcpuid; in sched_rtds_vcpu_get_all()
604 const libxl_vcpu_sched_params *scinfo) in sched_rtds_vcpu_set() argument
620 if (scinfo->num_vcpus <= 0) { in sched_rtds_vcpu_set()
624 for (i = 0; i < scinfo->num_vcpus; i++) { in sched_rtds_vcpu_set()
625 if (scinfo->vcpus[i].vcpuid < 0 || in sched_rtds_vcpu_set()
626 scinfo->vcpus[i].vcpuid > max_vcpuid) { in sched_rtds_vcpu_set()
628 scinfo->vcpus[i].vcpuid, max_vcpuid); in sched_rtds_vcpu_set()
632 rc = sched_rtds_validate_params(gc, scinfo->vcpus[i].period, in sched_rtds_vcpu_set()
633 scinfo->vcpus[i].budget); in sched_rtds_vcpu_set()
639 GCNEW_ARRAY(vcpus, scinfo->num_vcpus); in sched_rtds_vcpu_set()
640 for (i = 0; i < scinfo->num_vcpus; i++) { in sched_rtds_vcpu_set()
641 vcpus[i].vcpuid = scinfo->vcpus[i].vcpuid; in sched_rtds_vcpu_set()
642 vcpus[i].u.rtds.period = scinfo->vcpus[i].period; in sched_rtds_vcpu_set()
643 vcpus[i].u.rtds.budget = scinfo->vcpus[i].budget; in sched_rtds_vcpu_set()
644 if (scinfo->vcpus[i].extratime) in sched_rtds_vcpu_set()
651 vcpus, scinfo->num_vcpus); in sched_rtds_vcpu_set()
664 const libxl_vcpu_sched_params *scinfo) in sched_rtds_vcpu_set_all() argument
681 if (scinfo->num_vcpus != 1) { in sched_rtds_vcpu_set_all()
685 if (sched_rtds_validate_params(gc, scinfo->vcpus[0].period, in sched_rtds_vcpu_set_all()
686 scinfo->vcpus[0].budget)) { in sched_rtds_vcpu_set_all()
694 vcpus[i].u.rtds.period = scinfo->vcpus[0].period; in sched_rtds_vcpu_set_all()
695 vcpus[i].u.rtds.budget = scinfo->vcpus[0].budget; in sched_rtds_vcpu_set_all()
696 if (scinfo->vcpus[0].extratime) in sched_rtds_vcpu_set_all()
715 libxl_domain_sched_params *scinfo) in sched_rtds_domain_get() argument
726 libxl_domain_sched_params_init(scinfo); in sched_rtds_domain_get()
728 scinfo->sched = LIBXL_SCHEDULER_RTDS; in sched_rtds_domain_get()
729 scinfo->period = sdom.period; in sched_rtds_domain_get()
730 scinfo->budget = sdom.budget; in sched_rtds_domain_get()
736 const libxl_domain_sched_params *scinfo) in sched_rtds_domain_set() argument
746 if (scinfo->period != LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT) in sched_rtds_domain_set()
747 sdom.period = scinfo->period; in sched_rtds_domain_set()
748 if (scinfo->budget != LIBXL_DOMAIN_SCHED_PARAM_BUDGET_DEFAULT) in sched_rtds_domain_set()
749 sdom.budget = scinfo->budget; in sched_rtds_domain_set()
751 if (scinfo->extratime) in sched_rtds_domain_set()
768 const libxl_domain_sched_params *scinfo) in libxl_domain_sched_params_set() argument
771 libxl_scheduler sched = scinfo->sched; in libxl_domain_sched_params_set()
783 ret=sched_credit_domain_set(gc, domid, scinfo); in libxl_domain_sched_params_set()
786 ret=sched_credit2_domain_set(gc, domid, scinfo); in libxl_domain_sched_params_set()
789 ret=sched_arinc653_domain_set(gc, domid, scinfo); in libxl_domain_sched_params_set()
792 ret=sched_rtds_domain_set(gc, domid, scinfo); in libxl_domain_sched_params_set()
795 ret=sched_null_domain_set(gc, domid, scinfo); in libxl_domain_sched_params_set()
808 const libxl_vcpu_sched_params *scinfo) in libxl_vcpu_sched_params_set() argument
811 libxl_scheduler sched = scinfo->sched; in libxl_vcpu_sched_params_set()
830 rc = sched_rtds_vcpu_set(gc, domid, scinfo); in libxl_vcpu_sched_params_set()
843 const libxl_vcpu_sched_params *scinfo) in libxl_vcpu_sched_params_set_all() argument
846 libxl_scheduler sched = scinfo->sched; in libxl_vcpu_sched_params_set_all()
865 rc = sched_rtds_vcpu_set_all(gc, domid, scinfo); in libxl_vcpu_sched_params_set_all()
878 libxl_domain_sched_params *scinfo) in libxl_domain_sched_params_get() argument
883 libxl_domain_sched_params_init(scinfo); in libxl_domain_sched_params_get()
885 scinfo->sched = libxl__domain_scheduler(gc, domid); in libxl_domain_sched_params_get()
887 switch (scinfo->sched) { in libxl_domain_sched_params_get()
893 ret=sched_credit_domain_get(gc, domid, scinfo); in libxl_domain_sched_params_get()
896 ret=sched_credit2_domain_get(gc, domid, scinfo); in libxl_domain_sched_params_get()
899 ret=sched_rtds_domain_get(gc, domid, scinfo); in libxl_domain_sched_params_get()
902 ret=sched_null_domain_get(gc, domid, scinfo); in libxl_domain_sched_params_get()
915 libxl_vcpu_sched_params *scinfo) in libxl_vcpu_sched_params_get() argument
920 scinfo->sched = libxl__domain_scheduler(gc, domid); in libxl_vcpu_sched_params_get()
922 switch (scinfo->sched) { in libxl_vcpu_sched_params_get()
935 rc = sched_rtds_vcpu_get(gc, domid, scinfo); in libxl_vcpu_sched_params_get()
948 libxl_vcpu_sched_params *scinfo) in libxl_vcpu_sched_params_get_all() argument
953 scinfo->sched = libxl__domain_scheduler(gc, domid); in libxl_vcpu_sched_params_get_all()
955 switch (scinfo->sched) { in libxl_vcpu_sched_params_get_all()
968 rc = sched_rtds_vcpu_get_all(gc, domid, scinfo); in libxl_vcpu_sched_params_get_all()