summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2014-07-08 12:15:15 +0000
committermav <mav@FreeBSD.org>2014-07-08 12:15:15 +0000
commit3d17a2a3d2526935c300e7c4aa7ff75ef27e2d17 (patch)
treea842653e778293ac74efe16fa8648e4ee639d3e3 /lib/libc
parent7d8e028d00771593601e4244fc2eddef53016ef8 (diff)
downloadFreeBSD-src-3d17a2a3d2526935c300e7c4aa7ff75ef27e2d17.zip
FreeBSD-src-3d17a2a3d2526935c300e7c4aa7ff75ef27e2d17.tar.gz
Return task management requests to queued execution, but differently.
Testing shown that both original queued design with separate task queue, and recent direct execution design had significant flaw: If abort request arrives just after the victim, the last one may not be in the ooa_queue yet, and so invisible for the task management function. Unlike original queued implementation, use same queue for all SCSI and TASK requests from the same initiator. That avoids races between them: task functions are always executed in proper time, relatively to other requests.
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud