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