Re: [PATCH v0] add nano semaphore in kernel

Hillf Danton
2010-12-28T13:13:22Z

On Tue, Dec 28, 2010 at 5:15 AM, Arnd Bergmann <arnd@arndb.de> 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

I want to add new way to do semaphore with finer time resolution,
without considering much about its potential usage.

And I learn from your comments there is more to do, thanks.

> 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.
>

I will try the three instances of down_timeout() soon.

Thanks
Hillf