Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Tue, 20 Feb 2001 15:59:11 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Tue, 20 Feb 2001 15:59:01 -0500 Received: from router-100M.swansea.linux.org.uk ([194.168.151.17]:3846 "EHLO the-village.bc.nu") by vger.kernel.org with ESMTP id ; Tue, 20 Feb 2001 15:58:49 -0500 Subject: Re: can somebody explain barrier() macro ? To: hiren_mehta@agilent.com Date: Tue, 20 Feb 2001 21:02:09 +0000 (GMT) Cc: linux-kernel@vger.kernel.org In-Reply-To: from "hiren_mehta@agilent.com" at Feb 20, 2001 12:50:54 PM X-Mailer: ELM [version 2.5 PL1] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: From: Alan Cox Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org > barrier() is defined in kernel.h as follows : > > #define barrier() __asm__ __volatile__("": : :"memory") > > what does this mean ? is this like "nop" ? Its adds an empty piece of assembler (ie no code) and declares that this non code causes effects on memory. That forces gcc to writeback before the barrier and reload cached values afterwards - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/