Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758736AbYG2NBd (ORCPT ); Tue, 29 Jul 2008 09:01:33 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752876AbYG2NB0 (ORCPT ); Tue, 29 Jul 2008 09:01:26 -0400 Received: from ozlabs.org ([203.10.76.45]:35490 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752798AbYG2NBZ (ORCPT ); Tue, 29 Jul 2008 09:01:25 -0400 From: Rusty Russell To: "Paul Menage" Subject: Re: [PATCH] Introduce down_try() so we can move away from down_trylock() Date: Tue, 29 Jul 2008 23:01:17 +1000 User-Agent: KMail/1.9.9 Cc: "Linus Torvalds" , linux-kernel@vger.kernel.org, "Matthew Wilcox" , "Randy.Dunlap" , "Andrew Morton" , "Christoph Hellwig" References: <200807291015.02865.rusty@rustcorp.com.au> <6599ad830807281727r63a57a1g11972c5395828aae@mail.gmail.com> In-Reply-To: <6599ad830807281727r63a57a1g11972c5395828aae@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200807292301.18733.rusty@rustcorp.com.au> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2219 Lines: 60 On Tuesday 29 July 2008 10:27:15 Paul Menage wrote: > On Mon, Jul 28, 2008 at 5:15 PM, Rusty Russell wrote: > > +/** > > + * down_try - try to down a semaphore, but don't block > > + * @sem: the semaphore > > Is there a reason to avoid using a return type of "bool" for this? Probably, but not a good one. This incorporates Andrew's whitespace fix as well (ie: introduce-down_try-so-we-can-move-away-from-down_trylock.patch and introduce-down_try-so-we-can-move-away-from-down_trylock-checkpatch-fixes.patch) Introduce down_try() I planned on removing the much-disliked down_trylock() (with its backwards return codes) in 2.6.27, but it's creating something of a logjam with other patches in -mm and linux-next. Andrew suggested introducing "down_try" as a wrapper now, to make the transition easier. Signed-off-by: Rusty Russell Cc: Andrew Morton Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Stephen Rothwell --- include/linux/semaphore.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff -r 92664ae4130b include/linux/semaphore.h --- a/include/linux/semaphore.h Wed May 21 14:54:40 2008 +1000 +++ b/include/linux/semaphore.h Wed May 21 15:07:31 2008 +1000 @@ -48,4 +48,18 @@ extern int __must_check down_timeout(str extern int __must_check down_timeout(struct semaphore *sem, long jiffies); extern void up(struct semaphore *sem); +/** + * down_try - try to down a semaphore, but don't block + * @sem: the semaphore + * + * This is equivalent to down_trylock(), but has the same return codes as + * spin_trylock and mutex_trylock: 1 if semaphore acquired, 0 if not. + * + * down_trylock() with its confusing return codes will be deprecated + * soon. It will not be missed. + */ +static inline bool __must_check down_try(struct semaphore *sem) +{ + return !down_trylock(sem); +} #endif /* __LINUX_SEMAPHORE_H */ -- 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/