cvs commit: src/sys/dev/ata ata-all.h ata-queue.c

Søren Schmidt sos at FreeBSD.org
Tue Feb 28 23:48:42 PST 2006


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


More information about the cvs-src mailing list