Mailing List archive

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

[linux-dvb] Re: [PATCH] support for multiple feeds per pid



HI

> I think that spin_lock_irq() is "stronger" than spin_lock_bh().
> On SMP the critical region will be protected by the spin lock,
> on UP you can't get interrupted when irqs are disabled. But
> it is of course more efficient to not to lock irqs when not
> necessary, that's the whole point of using tasklets.

It is stronger, but from some people machine lockup
reports (machine hosed, ICMP PING still working) I think that this 
lock happens during execution of hardware irq, and it's (sometimes)
released before finish of tasklet execution (after the hardware
irq has finished), while it should be actually keep locked after 
the hardware irq, during the tasklet running and then released.

So we can replace them in dvb_demux.c with spin_lock_bh() and test 
it a bit if it still works after the change :-)?

> Generally, using read locks is an optimization, allowing for multiple
> concurrent readers.  If there are no concurrent readers, then the
> optimization is useless.

Wise thinking! There's mostly one big reader to this structures so
read optimization is just un-neccesary luxus from practical point of
view

Emard


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index