[linux-dvb] down_interruptible usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Aug 06, 2005 Kenneth Aafl?y wrote:
> l?rdag 06 august 2005, 21:08, skrev Johannes Stezenbach:
> > Kenneth Aafl?y wrote:
> > > Is changing all down_interruptible (that protects freeing a structure)
> > > to down(), or will this have other unseen side-effects?
> >
> > Generally speaking, a driver should only sleep uninterruptibly
> > if you can make absolutely sure it won't sleep forever, even
> > in an obscure error case. If you can guarantee that from
> > reading the code, then it's best to change the down() to
> > down_interruptible(), otherwise it's better to handle the
> > error from down_interruptible() correctly.
> >
> > (If a process is stuck in uninterruptible sleep you usually
> > have to reboot to get rid of it, which is bad.)
> 
> Ok, but do you think it is better interrupt freeing a resource
> that can't be reclaimed later, or _maybe_ break some other part
> because of deadlocks?

Choose your poison...

Maybe you could explain the "can't be reclaimed later" part?
Why is it not possible to handle down_interruptible() interruption
currectly? And, BTW, what exactly is the problem that you found?

I guess if you experimentally change it to down() you will soon
find out if it causes problems. I would just prefer if you read
the code and think about what could cause it to hang indefinitely
(e.g. buggy driver or hardware problems).

Johannes



[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux