diff --git a/arch/arm64/kernel/include/syscall_list.h b/arch/arm64/kernel/include/syscall_list.h
index 5dd6243..709231d 100644
--- a/arch/arm64/kernel/include/syscall_list.h
+++ b/arch/arm64/kernel/include/syscall_list.h
@@ -128,6 +128,8 @@ SYSCALL_HANDLED(731, util_indicate_clone)
 SYSCALL_HANDLED(732, get_system)
 SYSCALL_HANDLED(733, util_register_desc)
 
+SYSCALL_HANDLED(740, setkdebug)
+
 /* McKernel Specific */
 SYSCALL_HANDLED(801, swapout)
 SYSCALL_HANDLED(802, linux_mlock)
diff --git a/arch/x86_64/kernel/include/syscall_list.h b/arch/x86_64/kernel/include/syscall_list.h
index 8ef9bd0..16361ea 100644
--- a/arch/x86_64/kernel/include/syscall_list.h
+++ b/arch/x86_64/kernel/include/syscall_list.h
@@ -170,6 +170,8 @@ SYSCALL_HANDLED(731, util_indicate_clone)
 SYSCALL_HANDLED(732, get_system)
 SYSCALL_HANDLED(733, util_register_desc)
 
+SYSCALL_HANDLED(740, setkdebug)
+
 /* McKernel Specific */
 SYSCALL_HANDLED(801, swapout)
 SYSCALL_HANDLED(802, linux_mlock)
diff --git a/kernel/include/process.h b/kernel/include/process.h
index 32fb880..d45f734 100644
--- a/kernel/include/process.h
+++ b/kernel/include/process.h
@@ -575,6 +575,7 @@ struct process {
 	int process_rank; /* Rank in partition */
 	int coredump_barrier_count, coredump_barrier_count2;
 	mcs_rwlock_lock_t coredump_lock; // lock for coredump
+	int debug_flags;
 };
 
 /*
diff --git a/kernel/procfs.c b/kernel/procfs.c
index 277dbfe..ea78af3 100644
--- a/kernel/procfs.c
+++ b/kernel/procfs.c
@@ -445,6 +445,7 @@ static int _process_procfs_request(struct ikc_scd_packet *rpacket, int *result)
 			else {
 				*result = -EAGAIN;
 			}
+			kprintf("read /proc/*/maps %d\n", result? 1: 0);
 			goto out;
 		}
 
@@ -521,6 +522,7 @@ static int _process_procfs_request(struct ikc_scd_packet *rpacket, int *result)
 			else {
 				*result = -EAGAIN;
 			}
+			kprintf("read /proc/*/pagemap %d\n", result? 1: 0);
 			goto out;
 		}
 
@@ -573,6 +575,7 @@ static int _process_procfs_request(struct ikc_scd_packet *rpacket, int *result)
 			else {
 				*result = -EAGAIN;
 			}
+			kprintf("read /proc/*/status %d\n", result? 1: 0);
 			goto out;
 		}
 		range = lookup_process_memory_range(vm, 0, -1);
diff --git a/kernel/syscall.c b/kernel/syscall.c
index 7d4964e..6a9f3df 100644
--- a/kernel/syscall.c
+++ b/kernel/syscall.c
@@ -1651,6 +1651,18 @@ do_mmap(const uintptr_t addr0, const size_t len0, const int prot,
 	}
 
 	ihk_mc_spinlock_lock_noirq(&thread->vm->memory_range_lock);
+	if (thread->proc->debug_flags) {
+		// sleep 5 sec
+		unsigned long ts = rdtsc();
+		unsigned long nanosecs = 5000000000L;
+		unsigned long tscs = nanosecs * 1000 / ihk_mc_get_ns_per_tsc();
+
+		kprintf("kernel debug sleep 5sec...\n");
+		while (rdtsc() - ts < tscs) {
+			cpu_pause();
+		}
+		kprintf("kernel debug wake up\n");
+	}
 
 	if (flags & MAP_FIXED) {
 		/* clear specified address range */
@@ -9617,6 +9629,17 @@ SYSCALL_DECLARE(util_register_desc)
 	return 0;
 }
 
+SYSCALL_DECLARE(setkdebug)
+{
+	int flags = ihk_mc_syscall_arg0(ctx);
+	struct thread *mythread = cpu_local_var(current);
+	struct process *proc = mythread->proc;
+
+	kprintf("set kernel debug flag pid=%d val=%d\n", proc->pid, flags);
+	proc->debug_flags = flags;
+	return 0;
+}
+
 void
 reset_cputime()
 {
diff --git a/test/issues/452/C452.patch b/test/issues/452/C452.patch
index 4393b4e..e69de29 100644
--- a/test/issues/452/C452.patch
+++ b/test/issues/452/C452.patch
@@ -1,107 +0,0 @@
-diff --git a/arch/arm64/kernel/include/syscall_list.h b/arch/arm64/kernel/include/syscall_list.h
-index 5dd6243..709231d 100644
---- a/arch/arm64/kernel/include/syscall_list.h
-+++ b/arch/arm64/kernel/include/syscall_list.h
-@@ -128,6 +128,8 @@ SYSCALL_HANDLED(731, util_indicate_clone)
- SYSCALL_HANDLED(732, get_system)
- SYSCALL_HANDLED(733, util_register_desc)
- 
-+SYSCALL_HANDLED(740, setkdebug)
-+
- /* McKernel Specific */
- SYSCALL_HANDLED(801, swapout)
- SYSCALL_HANDLED(802, linux_mlock)
-diff --git a/arch/x86_64/kernel/include/syscall_list.h b/arch/x86_64/kernel/include/syscall_list.h
-index 8ef9bd0..16361ea 100644
---- a/arch/x86_64/kernel/include/syscall_list.h
-+++ b/arch/x86_64/kernel/include/syscall_list.h
-@@ -170,6 +170,8 @@ SYSCALL_HANDLED(731, util_indicate_clone)
- SYSCALL_HANDLED(732, get_system)
- SYSCALL_HANDLED(733, util_register_desc)
- 
-+SYSCALL_HANDLED(740, setkdebug)
-+
- /* McKernel Specific */
- SYSCALL_HANDLED(801, swapout)
- SYSCALL_HANDLED(802, linux_mlock)
-diff --git a/kernel/include/process.h b/kernel/include/process.h
-index 32fb880..d45f734 100644
---- a/kernel/include/process.h
-+++ b/kernel/include/process.h
-@@ -575,6 +575,7 @@ struct process {
- 	int process_rank; /* Rank in partition */
- 	int coredump_barrier_count, coredump_barrier_count2;
- 	mcs_rwlock_lock_t coredump_lock; // lock for coredump
-+	int debug_flags;
- };
- 
- /*
-diff --git a/kernel/procfs.c b/kernel/procfs.c
-index 35d4778..615b7ac 100644
---- a/kernel/procfs.c
-+++ b/kernel/procfs.c
-@@ -446,6 +446,7 @@ static int _process_procfs_request(struct ikc_scd_packet *rpacket, int *result)
- 			else {
- 				*result = -EAGAIN;
- 			}
-+			kprintf("read /proc/*/maps %d\n", result? 1: 0);
- 			goto out;
- 		}
- 
-@@ -522,6 +523,7 @@ static int _process_procfs_request(struct ikc_scd_packet *rpacket, int *result)
- 			else {
- 				*result = -EAGAIN;
- 			}
-+			kprintf("read /proc/*/pagemap %d\n", result? 1: 0);
- 			goto out;
- 		}
- 
-@@ -574,6 +576,7 @@ static int _process_procfs_request(struct ikc_scd_packet *rpacket, int *result)
- 			else {
- 				*result = -EAGAIN;
- 			}
-+			kprintf("read /proc/*/status %d\n", result? 1: 0);
- 			goto out;
- 		}
- 		range = lookup_process_memory_range(vm, 0, -1);
-diff --git a/kernel/syscall.c b/kernel/syscall.c
-index 7d4964e..6a9f3df 100644
---- a/kernel/syscall.c
-+++ b/kernel/syscall.c
-@@ -1651,6 +1651,18 @@ do_mmap(const uintptr_t addr0, const size_t len0, const int prot,
- 	}
- 
- 	ihk_mc_spinlock_lock_noirq(&thread->vm->memory_range_lock);
-+	if (thread->proc->debug_flags) {
-+		// sleep 5 sec
-+		unsigned long ts = rdtsc();
-+		unsigned long nanosecs = 5000000000L;
-+		unsigned long tscs = nanosecs * 1000 / ihk_mc_get_ns_per_tsc();
-+
-+		kprintf("kernel debug sleep 5sec...\n");
-+		while (rdtsc() - ts < tscs) {
-+			cpu_pause();
-+		}
-+		kprintf("kernel debug wake up\n");
-+	}
- 
- 	if (flags & MAP_FIXED) {
- 		/* clear specified address range */
-@@ -9617,6 +9629,17 @@ SYSCALL_DECLARE(util_register_desc)
- 	return 0;
- }
- 
-+SYSCALL_DECLARE(setkdebug)
-+{
-+	int flags = ihk_mc_syscall_arg0(ctx);
-+	struct thread *mythread = cpu_local_var(current);
-+	struct process *proc = mythread->proc;
-+
-+	kprintf("set kernel debug flag pid=%d val=%d\n", proc->pid, flags);
-+	proc->debug_flags = flags;
-+	return 0;
-+}
-+
- void
- reset_cputime()
- {
