> ... and try to find a way to test for it at runtime or compile time.It's hard. I haven't managed to come up with a good idea on how to test for it either at runtime or from sparse. There -might- be way to test up to a certain point with sparse by defining a __coherent attribute for coherent memory and trying to figure out patterns like write to __coherent followed by MMIO with no barrier in between but that's fishy and won't catch many cases. Sticking barriers in the accessors is thus indeed the "easy" and somewhat safe fix and keeping everything as ordered as possible Though it's my understanding that at least ia64 does require the explicit barriers anyway, so we are still in a dodgy situation here where it's not clear what drivers should do and we end up with possibly excessive barriers on powerpc where I end up with both the wmb/rmb/mb that were added for ia64 -and- the ones I have in readl/writel to make them look synchronous... Not nice. I'm not sure there is a good answer... Cheers, Ben. --
| Joe Perches | [PATCH 143/148] include/asm-x86/vm86.h: checkpatch cleanups - formatting only |
| Linus Torvalds | Re: Back to the future. |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Trent Piepho | [PATCH] [POWERPC] Improve (in|out)_beXX() asm code |
git: | |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| David Miller | [GIT]: Networking |
| Linus Torvalds | Re: iptables very slow after commit 784544739a25c30637397ace5489eeb6e15d7d49 |
