Module Name: src Committed By: mrg Date: Thu Jan 11 06:19:49 UTC 2024
Modified Files: src/sys/dev/mscp: mscp.c mscp_disk.c mscp_tape.c mscpvar.h Log Message: mscp(4): add ability for rronline() callback in a workqueue when an ra(4) disk comes online the hardware interrupt ends up calling disk_set_info(), which triggers a sleep lock/alloc in this path which is triggered by LOCKDEBUG. piggy-back on the existing workqueue for autoconfiguration to handle this path and run the online completion in the work queue. this is a little ugly, in that it puts two different types of work into the one queue, but seems less ugly than creating a second workqueue for what is likely another one-time event (infact, the other user may be better handled via config_defer() -- i did not look too closely.) with this, LOCKDEBUG kernels work. tested in simh. To generate a diff of this commit: cvs rdiff -u -r1.38 -r1.39 src/sys/dev/mscp/mscp.c cvs rdiff -u -r1.90 -r1.91 src/sys/dev/mscp/mscp_disk.c cvs rdiff -u -r1.43 -r1.44 src/sys/dev/mscp/mscp_tape.c cvs rdiff -u -r1.18 -r1.19 src/sys/dev/mscp/mscpvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.