[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20150610070422.GA12917@gmail.com>
Date: Wed, 10 Jun 2015 09:04:22 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Arnaldo Carvalho de Melo <acme@...hat.com>
Cc: namhyung@...nel.org, adrian.hunter@...el.com, hpa@...or.com,
linux-kernel@...r.kernel.org, tglx@...utronix.de,
dsahern@...il.com, jolsa@...hat.com,
linux-tip-commits@...r.kernel.org
Subject: Re: [tip:perf/core] perf tools: Protect accesses the dso rbtrees/
lists with a rw lock
* Arnaldo Carvalho de Melo <acme@...hat.com> wrote:
> Em Tue, Jun 09, 2015 at 11:56:10AM +0200, Ingo Molnar escreveu:
> > * tip-bot for Arnaldo Carvalho de Melo <tipbot@...or.com> wrote:
>
> > > +void dsos__add(struct dsos *dsos, struct dso *dso)
> > > +{
> > > + pthread_rwlock_wrlock(&dsos->lock);
> > > + __dsos__add(dsos, dso);
> > > + pthread_rwlock_unlock(&dsos->lock);
> > > }
> >
> > Please introduce wrappers and use the kernel API names:
> > read_lock()/read_unlock()/etc. (and name the mutex primitives
> > mutex_lock()/unlock())
> >
> > That way kernel developers will find their way around the perf locking details
> > easily, and we can also use liblockdep to check locking correctness.
>
> Yeah, we discussed about that, will do it eventually, you said this was already
> present in some tools/ code, but I couldn't find it:
>
> [acme@zoo linux]$ find tools/ -type f | xargs grep '\<mutex_unlock'
> [acme@zoo linux]$
it's in -tip in tools/kvm/:
triton:~/tip> git grep mutex_lock tools/kvm/include/kvm/mutex.h
tools/kvm/include/kvm/mutex.h:static inline void mutex_lock(struct mutex *lock)
triton:~/tip> git grep down tools/kvm/include/kvm/rwsem.h
tools/kvm/include/kvm/rwsem.h:static inline void down_read(pthread_rwlock_t *rwsem)
tools/kvm/include/kvm/rwsem.h:static inline void down_write(pthread_rwlock_t *rwsem)
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists