No more 24-bit atomic_t
As of 2.6.3, this limitation no longer holds. This patch by Keith M Wesolowski has changed the Sparc32 implementation to a version (taken from the PA-RISC architecture) which provides full 32-bit atomic variables.
The new implementation works by creating a small array (four entries) of
spinlocks. When an operation is to be performed on an atomic variable, one
of those spinlocks is chosen by a hash function; the code holds the given
lock while manipulating the variable. The result is proper locking for
atomic operations without doubling the size of every atomic_t in
the system. The patch was quickly picked up and merged, and kernel
programmers have one less strange limitation to worry about.
| Index entries for this article | |
|---|---|
| Kernel | atomic_t |
