[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen staging] xen/sched: switch sched_move_irqs() to take sched_unit as parameter
commit 67a6cafebdafec7a957072909790b37f2e9690f7 Author: Juergen Gross <jgross@xxxxxxxx> AuthorDate: Fri Sep 27 09:00:27 2019 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Fri Sep 27 16:01:25 2019 +0200 xen/sched: switch sched_move_irqs() to take sched_unit as parameter sched_move_irqs() should work on a sched_unit as that is the unit 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> Reviewed-by: Dario Faggioli <dfaggioli@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 621726f0d9..de6f7044f0 100644 --- a/xen/common/schedule.c +++ b/xen/common/schedule.c @@ -487,12 +487,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(const struct sched_unit *unit) +{ + struct vcpu *v; + + for_each_sched_unit_vcpu ( unit, v ) + vcpu_move_irqs(v); +} + int sched_move_domain(struct domain *d, struct cpupool *c) { struct vcpu *v; @@ -572,7 +580,7 @@ int sched_move_domain(struct domain *d, struct cpupool *c) v->sched_unit->priv = vcpu_priv[v->vcpu_id]; if ( !d->is_dying ) - sched_move_irqs(v); + sched_move_irqs(v->sched_unit); new_p = cpumask_cycle(new_p, c->cpu_valid); @@ -865,7 +873,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_unit); /* Wake on new CPU. */ vcpu_wake(v); @@ -930,7 +938,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_unit); } domain_update_node_affinity(d); @@ -1747,7 +1755,7 @@ static void schedule(void) stop_timer(&prev->vcpu_list->periodic_timer); if ( next_slice.migrated ) - sched_move_irqs(next->vcpu_list); + vcpu_move_irqs(next->vcpu_list); vcpu_periodic_timer_work(next->vcpu_list); -- generated by git-patchbot for /home/xen/git/xen.git#staging _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |