[PATCH] x86-64: clean up local_add/sub arguments
[pandora-kernel.git] / include / asm-x86_64 / local.h
index 169c223..3e72c41 100644 (file)
@@ -29,7 +29,7 @@ static __inline__ void local_dec(local_t *v)
                :"m" (v->counter));
 }
 
-static __inline__ void local_add(unsigned long i, local_t *v)
+static __inline__ void local_add(unsigned int i, local_t *v)
 {
        __asm__ __volatile__(
                "addl %1,%0"
@@ -37,7 +37,7 @@ static __inline__ void local_add(unsigned long i, local_t *v)
                :"ir" (i), "m" (v->counter));
 }
 
-static __inline__ void local_sub(unsigned long i, local_t *v)
+static __inline__ void local_sub(unsigned int i, local_t *v)
 {
        __asm__ __volatile__(
                "subl %1,%0"
@@ -45,7 +45,8 @@ static __inline__ void local_sub(unsigned long i, local_t *v)
                :"ir" (i), "m" (v->counter));
 }
 
-/* On x86, these are no better than the atomic variants. */
+/* On x86-64 these are better than the atomic variants on SMP kernels
+   because they dont use a lock prefix. */
 #define __local_inc(l)         local_inc(l)
 #define __local_dec(l)         local_dec(l)
 #define __local_add(i,l)       local_add((i),(l))