Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-10] src/sys/dev/mscp



Module Name:    src
Committed By:   martin
Date:           Fri Apr  4 16:01:12 UTC 2025

Modified Files:
        src/sys/dev/mscp [netbsd-10]: mscp.c mscp_disk.c mscp_tape.c mscpvar.h

Log Message:
Pull up following revision(s) (requested by hans in ticket #1080):

        sys/dev/mscp/mscp_disk.c: revision 1.91
        sys/dev/mscp/mscp_tape.c: revision 1.44
        sys/dev/mscp/mscp.c: revision 1.39
        sys/dev/mscp/mscpvar.h: revision 1.19

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.38.6.1 src/sys/dev/mscp/mscp.c
cvs rdiff -u -r1.90 -r1.90.4.1 src/sys/dev/mscp/mscp_disk.c
cvs rdiff -u -r1.43 -r1.43.60.1 src/sys/dev/mscp/mscp_tape.c
cvs rdiff -u -r1.18 -r1.18.70.1 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.




Home | Main Index | Thread Index | Old Index