Date: Wed, 1 Mar 2006 07:48:41 +0000 (UTC) From: Søren Schmidt <sos@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/ata ata-all.h ata-queue.c Message-ID: <200603010748.k217mfMh007553@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
sos 2006-03-01 07:48:41 UTC FreeBSD src repository Modified files: sys/dev/ata ata-all.h ata-queue.c Log: Work around the deadlock that occours when ATA waits for the taskqueue to call back for completition and something else is holding the taskqueue waiting for ATA to return data. This should clear up the "semaphore timeout !! DANGER Will Robinson !!" in most situations, and log "taskqueue timeout - completing request directly" instead, with a delayed "WARNING - freeing taskqueue zombie request" when the taskqueue finally calls us back with the now stale request. (It would have been nice if there was a way to remove a scheduled item from a taskqueue, but that is not currently implemented in the kernel). A real fix for this is in the works but wont make it to 6.1RELEASE definite MFC candidate. Revision Changes Path 1.115 +6 -2 src/sys/dev/ata/ata-all.h 1.58 +18 -5 src/sys/dev/ata/ata-queue.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603010748.k217mfMh007553>