Re: [PATCH v4 1/3] qspinlock: Introducing a 4-byte queue spinlock implementation

From: Waiman Long
Date: Tue Feb 18 2014 - 14:32:43 EST


On 02/18/2014 02:33 AM, Peter Zijlstra wrote:
On Mon, Feb 17, 2014 at 03:41:22PM -0500, Waiman Long wrote:
+#define _QCODE(lock) (atomic_read(&(lock)->qlcode)>> _QCODE_OFFSET)
+#define _QLOCK(lock) (atomic_read(&(lock)->qlcode)& _QSPINLOCK_LOCKED)
+#define GET_QN_IDX(code) (((code)>> _QCODE_VAL_OFFSET)& 3)
+#define GET_CPU_NR(code) (((code)>> (_QCODE_VAL_OFFSET + 2)) - 1)
+#ifndef _SET_QCODE
+#define _SET_QCODE(cpu, idx) ((((cpu) + 1)<< (_QCODE_VAL_OFFSET + 2)) |\
+ ((idx)<< _QCODE_VAL_OFFSET) |\

Someone please take the CPP away.. dude most this doesn't need to be a
macro. Its used only in 1 or two places and its utterly unreadable.

Yes, I can take them away. It is not a big problem.

-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/