Re: [PATCH v9 05/19] qspinlock: Optimize for smaller NR_CPUS

From: Waiman Long
Date: Thu Apr 17 2014 - 17:33:31 EST


On 04/17/2014 11:51 AM, Peter Zijlstra wrote:
On Thu, Apr 17, 2014 at 11:03:57AM -0400, Waiman Long wrote:
@@ -48,6 +53,9 @@
* We can further change the first spinner to spin on a bit in the lock word
* instead of its node; whereby avoiding the need to carry a node from lock to
* unlock, and preserving API.
+ *
+ * N.B. The current implementation only supports architectures that allow
+ * atomic operations on smaller 8-bit and 16-bit data types.
*/
Only for the _Q_PENDING_BITS == 8 case, the other case should still be
fine.

Yes, but _Q_PENDING_BITS is controlled by NR_CPUS which, for almost all the distributions, is less than 16K which means _Q_PENDING_BITS will always be set to 8, especially for non-x86 architectures.

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