diff options
Diffstat (limited to 'sys/kern/kern_cpu.c')
| -rw-r--r-- | sys/kern/kern_cpu.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sys/kern/kern_cpu.c b/sys/kern/kern_cpu.c index 0ac53351e36..d082994d266 100644 --- a/sys/kern/kern_cpu.c +++ b/sys/kern/kern_cpu.c @@ -1,4 +1,4 @@ -/* $NetBSD: kern_cpu.c,v 1.94 2023/02/26 07:13:55 skrll Exp $ */ +/* $NetBSD: kern_cpu.c,v 1.95 2023/07/07 12:34:50 riastradh Exp $ */ /*- * Copyright (c) 2007, 2008, 2009, 2010, 2012, 2019 The NetBSD Foundation, Inc. @@ -60,10 +60,11 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_cpu.c,v 1.94 2023/02/26 07:13:55 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_cpu.c,v 1.95 2023/07/07 12:34:50 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_cpu_ucode.h" +#include "opt_heartbeat.h" #endif #include <sys/param.h> @@ -85,6 +86,7 @@ __KERNEL_RCSID(0, "$NetBSD: kern_cpu.c,v 1.94 2023/02/26 07:13:55 skrll Exp $"); #include <sys/namei.h> #include <sys/callout.h> #include <sys/pcu.h> +#include <sys/heartbeat.h> #include <uvm/uvm_extern.h> @@ -377,6 +379,10 @@ fail: s = splsched(); spc->spc_flags &= ~SPCF_OFFLINE; splx(s); + +#ifdef HEARTBEAT + heartbeat_suspend(); +#endif } static void @@ -385,6 +391,10 @@ cpu_xc_online(struct cpu_info *ci, void *unused) struct schedstate_percpu *spc; int s; +#ifdef HEARTBEAT + heartbeat_resume(); +#endif + spc = &ci->ci_schedstate; s = splsched(); spc->spc_flags &= ~SPCF_OFFLINE; |
