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@

Reply via email to