long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op)
{
struct vcpu *v;
+ long ret;
if ( (op->sched_id != ops.sched_id) ||
((op->cmd != XEN_DOMCTL_SCHEDOP_putinfo) &&
if ( d == current->domain )
vcpu_schedule_lock_irq(current);
- SCHED_OP(adjust, d, op);
- TRACE_1D(TRC_SCHED_ADJDOM, d->domain_id);
+ if ( (ret = SCHED_OP(adjust, d, op)) == 0 )
+ TRACE_1D(TRC_SCHED_ADJDOM, d->domain_id);
if ( d == current->domain )
vcpu_schedule_unlock_irq(current);
vcpu_unpause(v);
}
- return 0;
+ return ret;
}
static void vcpu_periodic_timer_work(struct vcpu *v)