summaryrefslogtreecommitdiffstats
path: root/usr.bin/diff/diffreg.c
diff options
context:
space:
mode:
authordlg <dlg@openbsd.org>2010-07-15 23:52:32 +0000
committerdlg <dlg@openbsd.org>2010-07-15 23:52:32 +0000
commita2333cd4683e888cdecac98dcf4a80d816db78e0 (patch)
treee52c7ab3f7d3f6c585ab483bfc37462421314973 /usr.bin/diff/diffreg.c
parentdocument .Sm; prodded by kristaps@ (diff)
downloadwireguard-openbsd-a2333cd4683e888cdecac98dcf4a80d816db78e0.tar.xz
wireguard-openbsd-a2333cd4683e888cdecac98dcf4a80d816db78e0.zip
when mpii(4) gets an async event (ie, sas topology change or
integrated raid has changed state) that needs an acknowledgement, it currently goes scsi_io_get. because events are handled at interrupt time it cannot wait for ccbs, so if the ccb pool is empty, it wont get a ccb to ack the event with. this cuts the code over to using iohandlers to ack these events. when an ack is required, it shoves the rcb onto a queue and schedules an iohandler to be run whenever a ccb becomes available. the majority of the time the ccb will be there and the reply will happen immediately. however, if the hba is busy we might be deferred until some other command completes and gives its ccb back to the pool. because it looks like we can now receive many events at a time (rather than just one at a time like in mpi), im using a queue to store the events in. the alternative was an iohandler per rcb, but that struck me as a bit too heavy. mikeb is really impressed no objection from krw@
Diffstat (limited to 'usr.bin/diff/diffreg.c')
0 files changed, 0 insertions, 0 deletions