Re: Why is wmb() a no-op on x86_64?
From: Bryan O'Sullivan
Date: Wed Jan 18 2006 - 11:51:29 EST
On Wed, 2006-01-18 at 17:29 +0100, Andi Kleen wrote:
> Actually it is a compiler optimizer barrier, not a no-op.
Sorry, braino.
> Hmm, I suppose one could add a wc_wmb() or somesuch, but WC
> is currently deeply architecture specific so I'm not sure
> how you can even use it portably.
>
> Why do you need the barrier?
On x86_64, we fiddle with the MTRRs to enable write combining, which
makes a huge difference to performance. It's not clear to me what we
should even do on other architectures, since the only generic entry
point that even exposes write combining is pci_mmap_page_range, which is
for PCI mmap through userspace, and half the arches I've looked at
ignore its write_combine parameter.
<b
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/