pthread_self() on x86 accesses a register on CPU, so it is quite fast (i.e.
no syscall).

john


On Thu, May 23, 2013 at 11:22 PM, Yunkai Zhang <yunkai...@gmail.com> wrote:

> Oh, I read the implementation of pthread_self() in glibc just now,  It's
> simple then I guessed,
>
> It seems an overkill optimization. I think we should drop this wrapper.
>
>
> On Fri, May 24, 2013 at 2:14 PM, Yunkai Zhang <yunkai...@gmail.com> wrote:
>
> >
> >
> >
> > On Fri, May 24, 2013 at 1:41 AM, James Peach <jpe...@apache.org> wrote:
> >
> >> Hi Yunkai,
> >>
> >> I'm looking at the reclaimable freelist code, and this jumped out at me:
> >>
> >>         static inline pthread_t thread_id(void)
> >>         {
> >>           static __thread pthread_t tid;
> >>
> >>           return tid?tid:(tid = pthread_self());
> >>         }
> >>
> >> Why does this need to cache the thread ID in thread local storage?
> >>
> >
> > Getting thread id is a very frequent operation in reclaimabe-freelist,
> but
> > pthread_selft() isn't a inline function, I wanted to cache it so that we
> > can reduce one function calling.
> >
> >
> >
> >>
> >> J
> >>
> >
> >
> >
> > --
> > Yunkai Zhang
> > Work at Taobao
> >
>
>
>
> --
> Yunkai Zhang
> Work at Taobao
>

Reply via email to