From owner-cvs-src-old@FreeBSD.ORG Mon Oct 12 16:11:42 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D29F3106568D for ; Mon, 12 Oct 2009 16:11:42 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C07D18FC14 for ; Mon, 12 Oct 2009 16:11:42 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n9CGBgk9043056 for ; Mon, 12 Oct 2009 16:11:42 GMT (envelope-from attilio@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n9CGBgQP043055 for cvs-src-old@freebsd.org; Mon, 12 Oct 2009 16:11:42 GMT (envelope-from attilio@repoman.freebsd.org) Message-Id: <200910121611.n9CGBgQP043055@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to attilio@repoman.freebsd.org using -f From: Attilio Rao Date: Mon, 12 Oct 2009 16:11:25 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: RELENG_7 Subject: cvs commit: src/sys/amd64/include atomic.h src/sys/i386/include atomic.h X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2009 16:11:42 -0000 attilio 2009-10-12 16:11:25 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) sys/amd64/include atomic.h sys/i386/include atomic.h Log: SVN rev 197986 on 2009-10-12 16:11:25Z by attilio MFC r197803, r197824, r197910: Per their definition, atomic instructions used in conjuction with memory barriers should also ensure that the compiler doesn't reorder paths where they are used. GCC, however, does that aggressively, even in presence of volatile operands. The most reliable way GCC offers for avoid instructions reordering is clobbering "memory". Not all our memory barriers, right now, clobber memory for GCC-like compilers. Fix these cases. Revision Changes Path 1.44.2.2 +57 -41 src/sys/amd64/include/atomic.h 1.47.2.2 +57 -41 src/sys/i386/include/atomic.h