Messages in this thread | | | Date | Thu, 15 Jan 2009 14:59:35 +0100 | From | "roel kluin" <> | Subject | Re: [patch] add optimized generic percpu accessors |
| |
> +#ifndef percpu_read > +# define percpu_read(var) \ > + ({ \ > + typeof(per_cpu_var(var)) __tmp_var__; \ > + __tmp_var__ = get_cpu_var(var); \ > + put_cpu_var(var); \ > + __tmp_var__; \ > + }) > +#endif
I'm sorry for your eyes, but since var occurs twice, isn't it better to do:
# define percpu_read(var) \ ({ \ typeof(var) __pcpu_read_var__ = var; \ typeof(per_cpu_var(__pcpu_read_var__)) __tmp_var__; \ __tmp_var__ = get_cpu_var(__pcpu_read_var__); \ put_cpu_var(__pcpu_read_var__); \ __tmp_var__; \ })
> + > +#define __percpu_generic_to_op(var, val, op) \ > +do { \ > + get_cpu_var(var) op val; \ > + put_cpu_var(var); \ > +} while (0)
and:
#define __percpu_generic_to_op(var, val, op) \ do { \ typeof(var) __pcpu_gto_var__ = var; \ get_cpu_var(__pcpu_gto_var__) op val; \ put_cpu_var(__pcpu_gto_var__); \ } while (0)
| |