Messages in this thread | | | Date | Thu, 24 Nov 2005 14:13:10 +0100 | From | Andi Kleen <> | Subject | Re: [patch] SMP alternatives |
| |
> 1. The lock behaviour *is* defined for main memory access by all bus > masters.
For uncached memory, right?
> 2. Uncached mappings are unworkable for this because we must never have > a page mapped with conflicting cache types - thats ugly, and plain > horrific on SMP.
For kernel mapping change_page_attr() takes care of it, and for user space memory following all mappings is the only reliable way to find out which process needs to be killed anyways - and when you do that you can as well unmap or just kill.
> 3. Uncached has undefined semantics when racing a PCI master. Lock has > defined semantics. An uncached add #0 is permitted to read the memory > and then write it back as two different cycles and I suspect does.
Consider what happens with such a race: either the PCI master gets an bus abort because it still sees the corrupted data. Or it already accesses the repaired data. Both is ok.
> 4. The AMD BIOS guide requires both that LOCK is enabled by default and > that the "lock affects the external bus" bit is clear to enable locking > on the external bus.
The "Linux guidelines" might be different.
-Andi - 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/
| |