summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2020-07-05 12:22:44 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2020-07-05 12:22:44 +0000
commit74eaae19488f75534d7308a0c892f09a4b16faa0 (patch)
treedfada2cff32dbf6e8f73c2e25a4d19ce6707ac71
parent822db41949ac6d0d53894b1ae2bb5381013f5860 (diff)
Don't forget to schedule an AST in need_resched().
-rw-r--r--sys/arch/powerpc64/powerpc64/machdep.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/arch/powerpc64/powerpc64/machdep.c b/sys/arch/powerpc64/powerpc64/machdep.c
index c131fda5324..e4b6e05c0d8 100644
--- a/sys/arch/powerpc64/powerpc64/machdep.c
+++ b/sys/arch/powerpc64/powerpc64/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.43 2020/07/05 11:29:21 kettenis Exp $ */
+/* $OpenBSD: machdep.c,v 1.44 2020/07/05 12:22:43 kettenis Exp $ */
/*
* Copyright (c) 2020 Mark Kettenis <kettenis@openbsd.org>
@@ -542,6 +542,12 @@ void
need_resched(struct cpu_info *ci)
{
ci->ci_want_resched = 1;
+
+ /* There's a risk we'll be called before the idle threads start */
+ if (ci->ci_curproc) {
+ aston(ci->ci_curproc);
+ cpu_kick(ci);
+ }
}
void