possible spinlock optimizations

Manfred (manfreds@colorfullife.com)
Tue, 28 Sep 1999 14:54:13 +0200


I think there are 2 possible optimizations for spinlocks:
1) spin_lock_irq(): What about enabling interrupts while spinning?
CPU1 owns the spinlock, ie it runs with disabled interrupts.
Now CPU2 tries to acquire the spinlock, it fails and it starts to spin.
- while spinning, there are no atomicity requirements.
- it would improve the interrupt responsiveness. Currently, both CPU's are
waiting/running with disabled interrupts.
- the change only affects the "slow path", it doesn't slow down the normal
case.

I'm only talking about spin_lock_irq(), obviously this is impossible for
spin_lock_irqsave().

2) Have you read this note about W2K spinlock?
http://www.numega.com/drivercentral/resources/spinlocks.shtml
They claim their implementation has better SMP memory bus characteristics.
Has anyone tried to implement something like this?

--
    Manfred

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/