RE: [PATCH 0/24] make atomic_read() behave consistently across all architectures
From: "Luck, Tony" <tony.luck@intel.com>
Date: 2007-08-16 21:09:19
Also in:
lkml, netdev
From: "Luck, Tony" <tony.luck@intel.com>
Date: 2007-08-16 21:09:19
Also in:
lkml, netdev
quoted
6674: while (atomic_read(&j->DSPWrite) > 0) 6675- atomic_dec(&j->DSPWrite);If the maintainer of this code doesn't see a compelling reason to add cpu_relax() in this loop, then it should be patched.
Shouldn't it be just re-written without the loop: if ((tmp = atomic_read(&j->DSPWrite)) > 0) atomic_sub(&j->DSPWrite, tmp); Has all the same bugs, but runs much faster :-) -Tony