From owner-cvs-all Mon Jan 15 14: 1:30 2001 Delivered-To: cvs-all@freebsd.org Received: from critter.freebsd.dk (flutter.freebsd.dk [212.242.40.147]) by hub.freebsd.org (Postfix) with ESMTP id 2FE6537B400; Mon, 15 Jan 2001 14:01:07 -0800 (PST) Received: from critter (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.1/8.11.1) with ESMTP id f0FM10Z39829; Mon, 15 Jan 2001 23:01:00 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: Soren Schmidt Cc: jhb@FreeBSD.org (John Baldwin), cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, sos@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/ata ata-all.c In-Reply-To: Your message of "Mon, 15 Jan 2001 22:23:47 +0100." <200101152123.WAA70376@freebsd.dk> Date: Mon, 15 Jan 2001 23:01:00 +0100 Message-ID: <39827.979596060@critter> From: Poul-Henning Kamp Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In message <200101152123.WAA70376@freebsd.dk>, Soren Schmidt writes: >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... ...because the interrupts were masked by splbio() there. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message