2007-09-11 17:29:28

by Matti Linnanvuori

[permalink] [raw]
Subject: Do not deprecate binary semaphore or do allow mutex in software interrupt contexts

Peter Zijlstra <[email protected]>:
> Yes it is.

Why do you think it is broken?

> If you have to wait a long time in an atomic context you've done
> something wrong.

I saw an implementation where there were two atomic contexts, one to initiate reading and another to complete the reading.
That way, there was no busy wait for a long time in an atomic context.

> If you're only reading it from an atomic context you
> might consider storing a copy that can be quickly updated and protect
> that using a spinlock.

You suggested that a user-space task read from the device.
But that includes more context switching and therefore consumes more resources than reading just from an atomic context.

> Not being too familiar with the timer stuff, it smells wrong what you
> say.

Why?




Wissenswertes f?r Bastler und Hobby Handwerker. BE A BETTER HEIMWERKER! http://www.yahoo.de/clever


2007-09-11 18:22:44

by Arjan van de Ven

[permalink] [raw]
Subject: Re: Do not deprecate binary semaphore or do allow mutex in software interrupt contexts

On Tue, 11 Sep 2007 10:29:19 -0700 (PDT)
Matti Linnanvuori <[email protected]> wrote:

> > Not being too familiar with the timer stuff, it smells wrong what
> > you say.
>
> Why?

timers and sleeping locks really shouldn't be mixed.
It ends up in general as more complex, fragile and weird...

But feel free to prove us otherwise with real code...