From 3a3f6082886850e43ee17c5c4ec73e702c4640f8 Mon Sep 17 00:00:00 2001
From: John Baldwin <jhb@FreeBSD.org>
Date: Fri, 9 Mar 2001 03:59:50 +0000
Subject: [PATCH] Add a new informative KASSERT to ensure that a process is in
 the SRUN state before we return it to cpu_switch().

---
 sys/kern/kern_switch.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sys/kern/kern_switch.c b/sys/kern/kern_switch.c
index bfe0e7f0f9dd..0dd8538a2561 100644
--- a/sys/kern/kern_switch.c
+++ b/sys/kern/kern_switch.c
@@ -190,6 +190,9 @@ runq_choose(struct runq *rq)
 		rqh = &rq->rq_queues[pri];
 		p = TAILQ_FIRST(rqh);
 		KASSERT(p != NULL, ("runq_choose: no proc on busy queue"));
+		KASSERT(p->p_stat == SRUN,
+		    ("runq_chose: process %d(%s) in state %d", p->p_pid,
+		    p->p_comm, p->p_stat));
 		CTR3(KTR_RUNQ, "runq_choose: pri=%d p=%p rqh=%p", pri, p, rqh);
 		TAILQ_REMOVE(rqh, p, p_procq);
 		if (TAILQ_EMPTY(rqh)) {