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

Kevin Oberman oberman at es.net
Thu Sep 30 21:24:30 PDT 2004


> From: Søren Schmidt <sos at FreeBSD.org>
> Date: Thu, 30 Sep 2004 21:29:19 +0000 (UTC)
> Sender: owner-cvs-all at freebsd.org
> 
> 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

Thanks, Søren. I can confirm that I no longer see the problem on my ASUS
P5A.
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net			Phone: +1 510 486-8634


More information about the cvs-src mailing list