![]() | |||||||||||||
Messages in this thread |
On Fri, 16 Dec 2005, David S. Miller wrote: > > If there is some test guarding the CAS, yes. > > But if there isn't, for things like atomic increment and > decrement, where the CAS is unconditional, you'll always > eat the two bus transactions without the prefetch for write. Side note: there may be hardware cache protocol _scheduling_ reasons why some particular hw platform might prefer to go through the "Shared" state in their cache protocol. For example, you might have hardware that otherwise ends up being very unfair, where the two-stage lock aquire might actually allow another node to come in at all. Fairness and balance often comes at a cost, both in hw and in sw. Arguably such hardware sounds pretty broken, but the point is that these things can certainly depend on the platform around the CPU as well as on what the CPU itself does. I'm not saying that that is necessarily what Jesse was arguing about, but lock contention behaviour can be "interesting". Linus - 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/ | ||||||||||||
| Last update: 2005-12-17 08:43 [from the cache] ©2003-2008 | |||||||||||||