Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933309AbbFJHEz (ORCPT ); Wed, 10 Jun 2015 03:04:55 -0400 Received: from mail-wi0-f173.google.com ([209.85.212.173]:35433 "EHLO mail-wi0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933194AbbFJHE1 (ORCPT ); Wed, 10 Jun 2015 03:04:27 -0400 Date: Wed, 10 Jun 2015 09:04:22 +0200 From: Ingo Molnar To: Arnaldo Carvalho de Melo Cc: namhyung@kernel.org, adrian.hunter@intel.com, hpa@zytor.com, linux-kernel@vger.kernel.org, tglx@linutronix.de, dsahern@gmail.com, jolsa@redhat.com, linux-tip-commits@vger.kernel.org Subject: Re: [tip:perf/core] perf tools: Protect accesses the dso rbtrees/ lists with a rw lock Message-ID: <20150610070422.GA12917@gmail.com> References: <20150609095610.GA18359@gmail.com> <20150609142515.GD2195@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150609142515.GD2195@redhat.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1616 Lines: 43 * Arnaldo Carvalho de Melo wrote: > Em Tue, Jun 09, 2015 at 11:56:10AM +0200, Ingo Molnar escreveu: > > * tip-bot for Arnaldo Carvalho de Melo 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 '\ [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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/