mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
scheduler: Add a per-scheduler yield callback
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
This commit is contained in:
1 parent
22bcc5f006
commit
49094cac1b
2 files changed
+7
No files matched your search
@@ -642,6 +642,12 @@ static long do_poll(struct sched_poll *sched_poll)
|
||||
/* Voluntarily yield the processor for this allocation. */
|
||||
static long do_yield(void)
|
||||
{
|
||||
struct vcpu * v=current;
|
||||
|
||||
vcpu_schedule_lock_irq(v);
|
||||
SCHED_OP(VCPU2OP(v), yield, v);
|
||||
vcpu_schedule_unlock_irq(v);
|
||||
|
||||
TRACE_2D(TRC_SCHED_YIELD, current->domain->domain_id, current->vcpu_id);
|
||||
raise_softirq(SCHEDULE_SOFTIRQ);
|
||||
return 0;
|
||||
|
||||
@@ -107,6 +107,7 @@ struct scheduler {
|
||||
|
||||
void (*sleep) (const struct scheduler *, struct vcpu *);
|
||||
void (*wake) (const struct scheduler *, struct vcpu *);
|
||||
void (*yield) (const struct scheduler *, struct vcpu *);
|
||||
void (*context_saved) (const struct scheduler *, struct vcpu *);
|
||||
|
||||
struct task_slice (*do_schedule) (const struct scheduler *, s_time_t,
|
||||
|
||||