public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sasha.levin@oracle.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: torvalds@linux-foundation.org, mingo@kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 3/9] liblockdep: Add public headers for pthread_mutex_t implementation
Date: Tue, 28 May 2013 15:33:51 -0400	[thread overview]
Message-ID: <51A5069F.7050607@oracle.com> (raw)
In-Reply-To: <20130522092232.GF18810@twins.programming.kicks-ass.net>

On 05/22/2013 05:22 AM, Peter Zijlstra wrote:
> They will however then also want all the 'normal' lockdep annotations to
> deal with that like:
> 
> liblockdep_pthread_mutex_lock_nested()
> liblockdep_pthread_mutex_lock_nest_lock()
> 
> *phew* and here I always though pthread_mutex_* was a long prefix...
> 
> Also, the above doesn't have the full lockstat contention hooks -- not
> sure that's on purpose or not.

I was quietly hoping on leaving this out in the initial version of liblockdep
and start adding this and the rest of the toys that come with lockdep once we
figure out whether this code will go into the kernel tree or not.

Should I be adding them now?

>> +
>> +static inline int liblockdep_pthread_mutex_unlock(liblockdep_pthread_mutex_t *lock)
>> +{
>> +	lock_release(&lock->dep_map, 0, (unsigned long)_RET_IP_);
>> +	return pthread_mutex_unlock(&lock->mutex);
>> +}
>> +
>> +static inline int liblockdep_pthread_mutex_trylock(liblockdep_pthread_mutex_t *lock)
>> +{
>> +	lock_acquire(&lock->dep_map, 0, 1, 0, 2, NULL, (unsigned long)_RET_IP_);
>> +	return pthread_mutex_trylock(&lock->mutex) == 0 ? 1 : 0;
>> +}
>> +
>> +static inline int liblockdep_pthread_mutex_destroy(liblockdep_pthread_mutex_t *lock)
>> +{
>> +	return pthread_mutex_destroy(&lock->mutex);
>> +}
>> +
>> +#ifdef __USE_LIBLOCKDEP
>> +
>> +#define pthread_mutex_t         liblockdep_pthread_mutex_t
>> +#define pthread_mutex_init      liblockdep_pthread_mutex_init
>> +#define pthread_mutex_lock      liblockdep_pthread_mutex_lock
>> +#define pthread_mutex_unlock    liblockdep_pthread_mutex_unlock
>> +#define pthread_mutex_trylock   liblockdep_pthread_mutex_trylock
>> +#define pthread_mutex_destroy   liblockdep_pthread_mutex_destroy
> 
> Given the liblockdep_* things use 'proper' classes do you want this
> mapping? If you do, should we use the same alias nonsense glibc uses or
> are CPP macros good enough for us?
> 

I think that this will be good enough for our purpose, why wouldn't these
simple macros be enough?


Thanks,
Sasha

  reply	other threads:[~2013-05-28 19:34 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-16  3:15 [PATCH v4 0/9] liblockdep: userspace lockdep Sasha Levin
2013-05-16  3:15 ` [PATCH v4 1/9] lockdep: Be nice about building from userspace Sasha Levin
2013-05-16  7:32   ` Pekka Enberg
2013-05-16  3:15 ` [PATCH v4 2/9] liblockdep: Wrap kernel/lockdep.c to allow usage " Sasha Levin
2013-05-22  9:14   ` Peter Zijlstra
2013-05-22  9:17   ` Peter Zijlstra
2013-05-28 19:30     ` Sasha Levin
2013-05-29 11:11       ` Peter Zijlstra
2013-05-16  3:15 ` [PATCH v4 3/9] liblockdep: Add public headers for pthread_mutex_t implementation Sasha Levin
2013-05-22  9:22   ` Peter Zijlstra
2013-05-28 19:33     ` Sasha Levin [this message]
2013-05-29 11:14       ` Peter Zijlstra
2013-05-16  3:15 ` [PATCH v4 4/9] liblockdep: Add pthread_mutex_t test suite Sasha Levin
2013-05-16  3:15 ` [PATCH v4 5/9] liblockdep: Add public headers for pthread_rwlock_t implementation Sasha Levin
2013-05-22  9:23   ` Peter Zijlstra
2013-05-16  3:15 ` [PATCH v4 6/9] liblockdep: Add pthread_rwlock_t test suite Sasha Levin
2013-05-16  3:15 ` [PATCH v4 7/9] liblockdep: Support using LD_PRELOAD Sasha Levin
2013-05-22  9:24   ` Peter Zijlstra
2013-05-28 19:35     ` Sasha Levin
2013-05-29 11:15       ` Peter Zijlstra
2013-05-22  9:27   ` Peter Zijlstra
2013-05-28 19:38     ` Sasha Levin
2013-05-29 11:16       ` Peter Zijlstra
2013-05-16  3:15 ` [PATCH v4 8/9] liblockdep: Add the 'lockdep' user-space utility Sasha Levin
2013-05-22  9:27   ` Peter Zijlstra
2013-05-16  3:15 ` [PATCH v4 9/9] liblockdep: Add a MAINTAINERS entry Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51A5069F.7050607@oracle.com \
    --to=sasha.levin@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox