On Wed, Jun 5, 2013 at 10:44 AM, John Plevyak <jplev...@acm.org> wrote:

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

Yes, Let's give a patch to drop this wrapper.


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



-- 
Yunkai Zhang
Work at Taobao

Reply via email to