CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2010/07/08 17:18:55
Modified files: sys/kern : kern_bufq.c Log message: dont count requeued io as outstanding io. there is a 1:1 mapping between calls to bufq_enqueue and bufq_done calls, but bufq_requeue can be called multiple times on an io in between the enqueue and done. if you keep incrementing outstanding you'll never stop sleeping for suspend. bufq_requeue can be called via interrupts, so we cannot sleep there. the problems fixed by this diff were never hit cos the adapters people are testing/running with do not cause bufq_requeue to be called. thanks to thib@ for helping me understand the code better ok thib@ deraadt@ kettenis@ tedu@