cvs commit: src/sys/dev/ata ata-all.c ata-all.h ata-chipset.c ata-disk.c ata-dma.c ata-lowlevel.c ata-pci.c ata-queue.c

Søren Schmidt sos at FreeBSD.org
Thu Sep 30 14:29:19 PDT 2004


sos         2004-09-30 21:29:19 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_5)
    sys/dev/ata          ata-all.c ata-all.h ata-chipset.c 
                         ata-disk.c ata-dma.c ata-lowlevel.c 
                         ata-pci.c ata-queue.c 
  Log:
  MFC:
  Remove the old ATA_*LOCK_CH macros that used atomic ops and use
  mutexes instead.
  This closes the last (known) race issues in ATA which should fix
  the various hangs etc seen on heavy loaded systems.
  
  Change from using timeout functions to using callout functions in
  the timeout code. This together with above closes the race that could
  happen if timeout and device interrupt occured simultaniously.
  
  Also fix the possible recursion in ata_reinit() on very dodgy
  devices that could take us down in the probe.
  
  Approved by: re@ (scottl)
  
  Revision   Changes    Path
  1.222.2.2  +117 -19   src/sys/dev/ata/ata-all.c
  1.81.2.2   +10 -19    src/sys/dev/ata/ata-all.h
  1.81.2.2   +6 -4      src/sys/dev/ata/ata-chipset.c
  1.175.2.2  +6 -6      src/sys/dev/ata/ata-disk.c
  1.129.2.2  +4 -4      src/sys/dev/ata/ata-dma.c
  1.44.2.2   +26 -69    src/sys/dev/ata/ata-lowlevel.c
  1.87.2.2   +2 -2      src/sys/dev/ata/ata-pci.c
  1.32.2.2   +111 -114  src/sys/dev/ata/ata-queue.c


More information about the cvs-src mailing list