Messages in this thread | | | Subject | Re: [RFC] unify semaphore implementations | From | Trond Myklebust <> | Date | Sat, 30 Apr 2005 12:40:29 -0400 |
| |
On lau , 2005-04-30 at 11:45 +1000, Paul Mackerras wrote:
> What is "your machine"? Is a single cmpxchg really slower than > locking and unlocking a spinlock? If so, by how much?
Sorry. Thinking back, I realize that I was testing the non-irqsafe spinlocks, since that was the only case that was of interest for the iosem stuff. I should go back and test for the case of irqsafe ones.
FYI, though, the machine on which I tested it is a mobile P4. When averaging over 1000 iterations, a single bus-locked cmpxchg took more than twice the amount of time to complete than a single bus-locked incb or decb (as used in the 386 spinlock implementations). The spinlocked version was therefore not much faster for the fast path, but for the slow path you do only a single spin_lock/spin_unlock combination instead of cmpxchg+spinlock/spinunlock. It is therefore twice as fast.
Cheers, Trond
- 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/
| |