[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 33/49] xen/sched: switch sched_move_irqs() to take sched_item as parameter
sched_move_irqs() should work on a sched_item as that is the item moved between cpus. Rename the current function to vcpu_move_irqs() as it is still needed in schedule(). Signed-off-by: Juergen Gross <jgross@xxxxxxxx> --- xen/common/schedule.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/xen/common/schedule.c b/xen/common/schedule.c index c16f548b63..a5147b9481 100644 --- a/xen/common/schedule.c +++ b/xen/common/schedule.c @@ -407,12 +407,20 @@ int sched_init_vcpu(struct vcpu *v) return 0; } -static void sched_move_irqs(struct vcpu *v) +static void vcpu_move_irqs(struct vcpu *v) { arch_move_irqs(v); evtchn_move_pirqs(v); } +static void sched_move_irqs(struct sched_item *item) +{ + struct vcpu *v; + + for_each_sched_item_vcpu( item, v ) + vcpu_move_irqs(v); +} + int sched_move_domain(struct domain *d, struct cpupool *c) { struct vcpu *v; @@ -492,7 +500,7 @@ int sched_move_domain(struct domain *d, struct cpupool *c) v->sched_item->priv = vcpu_priv[v->vcpu_id]; if ( !d->is_dying ) - sched_move_irqs(v); + sched_move_irqs(v->sched_item); new_p = cpumask_cycle(new_p, c->cpu_valid); @@ -787,7 +795,7 @@ static void vcpu_migrate_finish(struct vcpu *v) sched_spin_unlock_double(old_lock, new_lock, flags); if ( old_cpu != new_cpu ) - sched_move_irqs(v); + sched_move_irqs(v->sched_item); /* Wake on new CPU. */ vcpu_wake(v); @@ -865,7 +873,7 @@ void restore_vcpu_affinity(struct domain *d) spin_unlock_irq(lock); if ( old_cpu != v->processor ) - sched_move_irqs(v); + sched_move_irqs(v->sched_item); } domain_update_node_affinity(d); @@ -1645,7 +1653,7 @@ static void schedule(void) stop_timer(&prev->vcpu->periodic_timer); if ( next_slice.migrated ) - sched_move_irqs(next->vcpu); + vcpu_move_irqs(next->vcpu); vcpu_periodic_timer_work(next->vcpu); -- 2.16.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |