lkml.org 
[lkml]   [2008]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] tracing/function-return-tracer: Make the function return tracer lockless
> barrier:
> __asm__ __volatile__("": : :"memory")
>
> local_add_return:
> asm volatile(_ASM_XADD "%0, %1;"
> : "+r" (i), "+m" (l->a.counter)
> : : "memory");
>
>
> Your argument was that barrier clobbers memory, but it looks like the
> local_add_return does the same.

That's a fair point. I'm not sure why the local_add_* has a memory
barrier at all, imho it shouldn't need it. I bet it's just
a hold over from the atomic code this was based one.

> I don't see any major gain in switching to local_add_return.

That's true with the current implementation. It would
be a good idea to consider dropping that explicit
barrier though, then it would be likely a slight win.

-Andi

--
ak@linux.intel.com


\
 
 \ /
  Last update: 2008-11-13 20:13    [W:0.039 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site