Date: Sat, 2 Oct 2021 15:28:21 GMT From: Mark Johnston <markj@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 0d5184c5fb4c - stable/13 - cam: Avoiding waking up doneq threads if we're dumping Message-ID: <202110021528.192FSLPc003136@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0d5184c5fb4c9110e70eaf230673af34ad262458 commit 0d5184c5fb4c9110e70eaf230673af34ad262458 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2021-09-25 14:13:56 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2021-10-02 15:28:07 +0000 cam: Avoiding waking up doneq threads if we're dumping Depending on the state of the target doneq thread at the time of the panic, the wakeup can hang indefinitely in thread_lock_block_wait(). That function should likely be modified to return immediately if the scheduler is stopped, but it is also preferable to avoid wakeups in general after a panic. Reported by: pho Reviewed by: mav, imp Sponsored by: The FreeBSD Foundation (cherry picked from commit ed8ef7ae8b05d9f73db2182b5e24b0b76b0783a2) --- sys/cam/cam_xpt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c index e3b43e70dc61..0e38166b6ba0 100644 --- a/sys/cam/cam_xpt.c +++ b/sys/cam/cam_xpt.c @@ -4635,7 +4635,7 @@ xpt_done(union ccb *done_ccb) STAILQ_INSERT_TAIL(&queue->cam_doneq, &done_ccb->ccb_h, sim_links.stqe); done_ccb->ccb_h.pinfo.index = CAM_DONEQ_INDEX; mtx_unlock(&queue->cam_doneq_mtx); - if (run) + if (run && !dumping) wakeup(&queue->cam_doneq); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202110021528.192FSLPc003136>