Re: [patch 1/2] i386: use asm() like the other atomic operations already do.

From: Andi Kleen
Date: Tue Aug 14 2007 - 19:28:18 EST


> My config with march=pentium-m and gcc (GCC) 4.1.2 (Gentoo 4.1.2):
> text data bss dec hex filename
> 3434150 249176 176128 3859454 3ae3fe atomic_normal/vmlinux
> 3435308 249176 176128 3860612 3ae884 atomic_inlineasm/vmlinux

What is the difference between atomic_normal and atomic_inlineasm?

> /**
> * atomic_read - read atomic variable
> * @v: pointer of type atomic_t
> - *
> + *

Please don't change white space in patches

> * Atomically reads the value of @v.
> - */
> -#define atomic_read(v) ((v)->counter)
> + */
> +static __inline__ int atomic_read(const atomic_t *v)
> +{
> + int t;
> +
> + __asm__ __volatile__(

And don't use __*__ in new code

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