From 8ebb3a4231fc6a7920d47b9b3d5aa2dabb073edc Mon Sep 17 00:00:00 2001 From: Tomoki Shirasawa Date: Thu, 3 Mar 2016 22:44:44 +0900 Subject: [PATCH] schedule: migration free last thread if terminated --- kernel/process.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/kernel/process.c b/kernel/process.c index 2fb3166e..18e4131a 100644 --- a/kernel/process.c +++ b/kernel/process.c @@ -2613,15 +2613,14 @@ redo: ihk_mc_spinlock_unlock(&(cpu_local_var(runq_lock)), cpu_local_var(runq_irqstate)); - /* Have we migrated to another core meanwhile? */ - if (v != get_this_cpu_local_var()) { - dkprintf("migrated, skipping freeing last\n"); - goto redo; - } - if ((last != NULL) && (last->status == PS_EXITED)) { release_thread(last); } + + /* Have we migrated to another core meanwhile? */ + if (v != get_this_cpu_local_var()) { + goto redo; + } } else { ihk_mc_spinlock_unlock(&(cpu_local_var(runq_lock)),