[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 09 Sep 2006 16:06:36 +0100
From: Alan Cox <alan@...rguk.ukuu.org.uk>
To: Paul Mackerras <paulus@...ba.org>
Cc: torvalds@...l.org, linux-kernel@...r.kernel.org,
benh@...nel.crashing.org, akpm@...l.org,
segher@...nel.crashing.org, davem@...emloft.net
Subject: Re: Opinion on ordering of writel vs. stores to RAM
Ar Sad, 2006-09-09 am 12:03 +1000, ysgrifennodd Paul Mackerras:
> Currently we have a sync instruction after the store in writel() but
> not one before. The sync after is to keep the writel inside
> spinlocked regions and to ensure that the store is ordered with
> respect to the load in readl() and friends.
The spinlock v writel case is not guaranteed on other platforms and
requires you use mmiowb. The main memory v writel ordering is half
guaranteed for PCI bus only .. viz:
The following is ok
fooblock->command = 1;
writel(&fooblock_phys, pci_addr); /* mem write seen */
The following is not
fooblock->command = 1;
writel(&fooblock_phys, pci_addr);
fooblock->command = 2; /* could occur before PCI */
Alan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists