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