Messages in this thread | | | Subject | Re: [PATCH] Document Linux's memory barriers | From | Alan Cox <> | Date | Wed, 08 Mar 2006 11:35:13 +0000 |
| |
On Maw, 2006-03-07 at 19:10 -0600, Robert Hancock wrote: > Alan Cox wrote: > > You must have a strange kernel Andi. Mine marks them as volatile > > unsigned char * references. > > Well, that and the fact that IO memory should be mapped as uncacheable > in the MTRRs should ensure that readl and writel won't be reordered on > i386 and x86_64.. except in the case where CONFIG_UNORDERED_IO is > enabled on x86_64 which can reorder writes since it uses nontemporal > stores..
You need both
real/writel need the volatile to stop gcc removing/reordering the accesses at compiler level, and the mtrr/pci bridge stuff then deals with bus level ordering for that CPU.
- 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/
| |