public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Walker <dwalker@codeaurora.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Hillf Danton <dhillf@gmail.com>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v0] add nano semaphore in kernel
Date: Tue, 28 Dec 2010 07:51:30 -0800	[thread overview]
Message-ID: <1293551490.24601.10.camel@m0nster> (raw)
In-Reply-To: <201012272215.52642.arnd@arndb.de>

On Mon, 2010-12-27 at 22:15 +0100, Arnd Bergmann wrote:
> On Sunday 26 December 2010, Hillf Danton wrote:
> > 
> > Based upon high resolution timer and idea borrowed from semaphore,
> > nano semaphore is created.
> > 
> > Nano semaphore provides finer time resolution depending on system
> > configuration and capabilities.
> > 
> > Nano semaphore is not to replace semaphore, but used in application
> > environments where nano seconds are required.
> > 
> > Three methods, nano_semaphore_try_down, nano_semaphore_down and
> > nano_semaphore_up are implemented in a header file, and there is no
> > corresponding C file since nano semaphore is not complex.
> > 
> > Signed-off-by: Hillf Danton <dhillf@gmail.com>
> 
> There are very few users of real semaphores today, and we're trying to
> get rid of them. It's not clear what your requirements are, since you
> have not posted any new users of this, but instead of adding more
> locking primitives, I would recommend changing one of the existing
> ones (mutex, semaphore, rwsem) to have nanosecond timeouts instead
> of jiffies.
> 
> The easiest way would certainly be to change the three users of
> down_timeout() to use nanoseconds.

We for sure don't want new semaphores, or new semaphore usage in the
kernel ..

It should also be noted that the rtmutex (kernel/rtmutex.c) already has
this capability. Although I don't think you can use an rtmutex from
inside the kernel.

If you really want this you should look into the rtmutex, and the
regular mutex API's .

Daniel


-- 
Sent by an consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora
Forum.



  parent reply	other threads:[~2010-12-28 15:51 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-26  5:13 [PATCH v0] add nano semaphore in kernel Hillf Danton
2010-12-26  6:46 ` Rakib Mullick
2010-12-26  7:04   ` Hillf Danton
2010-12-26  9:08     ` Rakib Mullick
2010-12-26 12:05       ` Hillf Danton
2010-12-26 12:56         ` Rakib Mullick
2010-12-27 14:04           ` Hillf Danton
2010-12-27 20:08 ` Randy Dunlap
2010-12-29 14:57   ` Hillf Danton
2010-12-27 21:15 ` Arnd Bergmann
2010-12-28 13:13   ` Hillf Danton
2010-12-28 15:51   ` Daniel Walker [this message]
2010-12-29 11:47     ` Arnd Bergmann
2010-12-29 14:42       ` Hillf Danton
2010-12-29 14:58         ` Daniel Walker
2010-12-29 15:03           ` Hillf Danton
2010-12-29 19:16         ` Arnd Bergmann
2010-12-30 14:21           ` Hillf Danton
2010-12-30 15:56             ` Arnd Bergmann
2011-01-04 14:03 ` Pavel Machek
2011-01-04 14:18   ` Hillf Danton

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=1293551490.24601.10.camel@m0nster \
    --to=dwalker@codeaurora.org \
    --cc=arnd@arndb.de \
    --cc=dhillf@gmail.com \
    --cc=linux-kernel@vger.kernel.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