# Commit 117f67350fd18b11ab09d628b4edea3364b09441 # Date 2013-11-06 10:21:09 +0100 # Author Nathan Studer # Committer Jan Beulich call sched_destroy_domain before cpupool_rm_domain The domain destruction code, removes a domain from its cpupool before attempting to destroy its scheduler information. Since the scheduler framework uses the domain's cpupool information to decide on which scheduler ops to use, this results in the the wrong scheduler's destroy domain function being called when the cpupool scheduler and the initial scheduler are different. Correct this by destroying the domain's scheduling information before removing it from the pool. Signed-off-by: Nathan Studer Reviewed-by: Juergen Gross Reviewed-by: Andrew Cooper Reviewed-by: George Dunlap Acked-by: Keir Fraser --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -720,10 +720,10 @@ static void complete_domain_destroy(stru rangeset_domain_destroy(d); - cpupool_rm_domain(d); - sched_destroy_domain(d); + cpupool_rm_domain(d); + /* Free page used by xen oprofile buffer. */ #ifdef CONFIG_XENOPROF free_xenoprof_pages(d);