From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nathan Studer Subject: [Patch] Call sched_destroy_domain before cpupool_rm_domain. Date: Sun, 3 Nov 2013 22:03:54 -0500 Message-ID: <1383534234-3933-1-git-send-email-nate.studer@dornerworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: George Dunlap , Juergen Gross , Keir Fraser , Nathan Studer List-Id: xen-devel@lists.xenproject.org From: Nathan Studer 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 --- xen/common/domain.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/common/domain.c b/xen/common/domain.c index 5999779..78ce968 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -727,10 +727,10 @@ static void complete_domain_destroy(struct rcu_head *head) 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); -- 1.7.9.5