On Tue, 20 May 2008, Scott Wood wrote:There doesn't appear to be any barriers to use for coherent dma other than mb() and wmb(). Correct me if I'm wrong, but I think the sync isn't actually _required_ (by memory-barriers.txt's definitions), and it would be enough to use eieio, except there is code that doesn't use mmiowb() between I/O access and unlocking. So, as I understand it, the minimum needed is eieio. To provide strict ordering w.r.t. spin locks without using mmiowb(), you need sync. To provide strict ordering w.r.t. normal memory, you need sync and a compiler barrier. Right now no archs provide the last option. powerpc is currently the middle option. I don't know if anything uses the first option, maybe alpha? I'm almost certain x86 is the middle option (the first isn't possible, the arch already has more ordering than that), which is probably why powerpc used that option and not the first. --
| Greg Kroah-Hartman | [PATCH 002/196] Chinese: rephrase English introduction in HOWTO |
| Mark Lord | 2.6.25-rc8: FTP transfer errors |
| Marcin Slusarz | Re: 2.6.25-rc2-mm1: build failure (x86) |
| Balbir Singh | Re: [RFC][PATCH 2/7] RSS controller core |
git: | |
| bcpa | Binkley/Rfmaill/Cnews scripts?.. |
| Rogier Wolff | Re: MIPS R3000 board to run Linux, anyone? |
| Gary Kahn | compiled ghostscript, got 2 megabyte executable |
| Joshua Lobel | Does anyone know anything about LOCUS' DOS MERGE running on Linux |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
