diff options
| author | bouyer <bouyer@NetBSD.org> | 2006-09-03 19:49:34 +0000 |
|---|---|---|
| committer | bouyer <bouyer@NetBSD.org> | 2006-09-03 19:49:34 +0000 |
| commit | 2aee9a0f50034657ea0508b7bb6b22593884c356 (patch) | |
| tree | 6d32f333450871c2c32d7b30f5821b4ac913f91d /sys/dev/microcode/isp | |
| parent | d31581e06a1928c48d8cc0b9582a03c2e181f278 (diff) | |
Back out rev 1.149.
From various discussion about vndstrategy (see
http://mail-index.netbsd.org/tech-kern/2005/03/29/0034.html
http://mail-index.netbsd.org/tech-kern/2005/03/23/0015.html)
it's not correct to tsleep() in a strategy routine, which may be called from
interrupt context.
Unfortunably this reopens PR/10731, PR/12189, PR/20296, PR/34293
As for what the correct fix it, this needs to be analysed deeper. I suspect
throttling the caller in vnd only hides the problem; the same caller writing
to some other device could exaust all buffers as well. If this driver doesn't
need to allocate buffer this won't cause a deadlock, but it's bad for
performances on systems with e.g. multiple drives. Also, others stacked
block device drivers may also have this issue.
Diffstat (limited to 'sys/dev/microcode/isp')
0 files changed, 0 insertions, 0 deletions
