Hello Michael thanks for replying, My comments are inline below

On Wed, Apr 1, 2009 at 10:11 PM, Michael Blizek
<[email protected]> wrote:
> Hi!
>
> On 20:42 Wed 01 Apr     , Devesh Sharma wrote:
>> Hello list,
>>
>> Consider a case where I have a workqueue, a work is submitted to a it
>> from some interrupt handler
>> Lets say, some where in a code, it tries to get some semaphore to
>> enter into a critical section,
>> and fails to get it, sholud I still return from the work function by
>> returning ERESTARTSYS?
>
> No, this is not a good idea. The work function which is called is expected to
> return void. If you return ERESTARTSYS anyway, your function will not be
> called again.
So should I assume semaphores can not be used with workqueues? if used
and down_trylock() is used
then some kind of wait mechanism has to be used? Also what is the case
with down_interruptible() is used?

>
> If your function is executed in workqueue context, it will be able to sleep 
> and
> it to wait for the semaphore, but it should not take too long, because it 
> might
> delay other tasks. In this case, you can set the workqueue up in a way that it
> has its own threads and does not cause delays for other workqueue users.
>
> BTW: What is your reason for using semaphores? See
> Documentation/mutex-design.txt
Hmm...........this document talks about not to use mutexes with
tasklet which clear my probable next
question..:). I just wanted to know th feasibility of semaphores usage
with workqueue also.
>
>        -Michi
> --
> programing a layer 3+4 network protocol for mesh networks
> see http://michaelblizek.twilightparadox.com
>
>

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to