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
next prev parent 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