Date: Mon, 15 Jan 2001 22:23:47 +0100 (CET) From: Soren Schmidt <sos@freebsd.dk> To: jhb@FreeBSD.org (John Baldwin) Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, sos@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/ata ata-all.c Message-ID: <200101152123.WAA70376@freebsd.dk> In-Reply-To: <XFMail.010115131722.jhb@FreeBSD.org> from John Baldwin at "Jan 15, 2001 01:17:22 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
It seems John Baldwin wrote: > >> Erm, all of this should be running under Giant, so you shouldn't be > >> contending > >> on this. You should probably protect this with a mutex that locks the softc > >> rather than using atomic operations, btw. > > > > If thats correct the change should have no effect right ? > > No. Giant is handled very specially. We release it before mi_switch() in all > cases except for blocking on a mutex. The order that phk mentioned in his > e-mail would result in the variable getting stomped. In that case though, I > think it would get stomped without SMPng as well. Hmm, I dont see me changing the cmp and set from multi instructions into an atomic one can change anything when its still under giant. The case phk descripes is valid, and I can surefire hang a SMP system if I use any SW RAID code. Just as a datapoint for you, I have never ever seen it fail under PRE_SMPNG or -stable... -Søren To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101152123.WAA70376>