Re: [PATCH v2] ring-buffer: Replace this_cpu_*() with __this_cpu_*()

From: Uwe Kleine-König
Date: Tue Mar 17 2015 - 10:47:17 EST


Guten Morgen Steven,

On Tue, Mar 17, 2015 at 10:40:38AM -0400, Steven Rostedt wrote:
> static __always_inline void trace_recursive_unlock(void)
> {
> - unsigned int val = this_cpu_read(current_context);
> + unsigned int val = __this_cpu_read(current_context);
> + unsigned int val2;
>
> - val--;
> - val &= this_cpu_read(current_context);
> - this_cpu_write(current_context, val);
> + val2 = val - 1;
> + val &= val2;
> + __this_cpu_write(current_context, val);
You could use:

unsigned int val = __this_cpu_read(current_context);

val = val & (val - 1);

__this_cpu_write(current_context, val);

and save a few lines and still make it more readable (IMHO).

BTW, this patch makes the additional lines in the trace disappear, so if
you think that makes a Tested-by applicable, feel free to add it.

Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
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/