Mailing List archive

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

[linux-dvb] Re: problems with dmxSctFilterParams and NEWSTRUCT



ok that would be great!

One thing I have trouble with, when reading the source is:

1: which of these functions are executed in interrupt context

2: which functions are only called after a spinlock has been acquired and
which ones need the spinlock

void foo() {
spin_lock(&foo_lock);
foo2();
spin_unlock(&foo_lock);
}

void foo2() {

spin_lock(&foo_lock);
j = 5;
spin_unlock(&foo_lock);
}

This would not work in userspace.  Would it create a deadlock in a UP
kernel? or does the kernel continue before foo2 finishes?

_J

In the new year, Holger Waechtler wrote:
> Jeremy Hall wrote:
> > ok from my simple understanding of the error messages, which probably
> > isn't correct, it seems that something is taking too long in the interrupt
> > context, so a scheduler call is made (from the preempt patch no doubt)
> > 
> > The reasons for the delay aren't entirely obvious, but I suspect it is
> > related to the spinlock dmxdevfilter->dev->lock.  If this theory is true,
> > something is holding onto this lock longer in the NEWSTRUCT branch than in
> > the old driver.
> > 
> > solutions?
> 
> I will tasklet'ize the interrupt handler. I started before but did not 
> finished this because the lock and semaphore handling is pretty (over-?) 
> complicated and changing things there can cause serious troubles later.
> 
> But this ultra-long interrupt handler code (the entire software demux is 
> running in the interrupt handler) causes latencies which will take us 
> into hell sooner or later, so I'll rather break the code now and we will 
> have to find all open dead locks, race conditions etc. as soon as 
> possible. Let's better get this clean now than never.
> 
> Please wait some hours, then I'll explain a little more in detail what 
> happened and what needs to be tested.
> 
> Holger
> 


-- 
I do not get viruses because I do not use MS software.
If you use Outlook then please do not put my email address in your
address-book so that WHEN you get a virus it won't use my address in the
From field.


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



Home | Main Index | Thread Index