From ccb7c30a05cf8a934697d55c1dea5b4c180bda43 Mon Sep 17 00:00:00 2001 From: Balazs Gerofi Date: Thu, 17 Sep 2015 10:05:14 +0900 Subject: [PATCH] page_fault_handler(): reenable preempt after failed PF when process is exiting --- kernel/mem.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/mem.c b/kernel/mem.c index 1ca26f10..e961d3ad 100644 --- a/kernel/mem.c +++ b/kernel/mem.c @@ -381,15 +381,16 @@ static void page_fault_handler(void *fault_addr, uint64_t reason, void *regs) struct siginfo info; if (error == -ECANCELED) { - kprintf("process is exiting, terminate.\n"); + dkprintf("process is exiting, terminate.\n"); ihk_mc_spinlock_lock_noirq(&proc->ftn->lock); proc->ftn->status = PS_ZOMBIE; ihk_mc_spinlock_unlock_noirq(&proc->ftn->lock); release_fork_tree_node(proc->ftn->parent); release_fork_tree_node(proc->ftn); - //release_process(proc); + release_process(proc); + preempt_enable(); schedule(); }