Skip site navigation (1)Skip section navigation (2)
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>