Date: Sun, 26 Sep 2004 11:48:43 +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.c ata-all.h ata-disk.c ata-lowlevel.c ata-queue.c Message-ID: <200409261148.i8QBmhBC005846@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
sos 2004-09-26 11:48:43 UTC
FreeBSD src repository
Modified files:
sys/dev/ata ata-all.c ata-all.h ata-disk.c
ata-lowlevel.c ata-queue.c
Log:
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.
Revision Changes Path
1.228 +109 -12 src/sys/dev/ata/ata-all.c
1.84 +10 -19 src/sys/dev/ata/ata-all.h
1.178 +2 -1 src/sys/dev/ata/ata-disk.c
1.48 +26 -69 src/sys/dev/ata/ata-lowlevel.c
1.35 +111 -114 src/sys/dev/ata/ata-queue.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200409261148.i8QBmhBC005846>
