Re: [PATCH 1/2] tracing/function-return-tracer: Make the function return tracer lockless

From: Andi Kleen
Date: Thu Nov 13 2008 - 12:03:18 EST


> > local register i
> > i = index;
> > write to index'ed array using i
> > <--------- interrupt here would overwrite data
> > ...
> > index = i + 1;
>
>
> Yes in the common case that would be a danger. But here, if an
> interrupt is raised, it will increment
> the counter and then decrement it at return time without dropping the
> cpu. So after the interrupt, the
> value will remain the same...

The buffer contents will not be necessarily
the same. See the scenario above. The interrupt would use the
same i as the current function and would overwrite the
partially written entry.

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