Mailing List archive

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

[linux-dvb] Re: setting voltage takes TONS of time



It's a Hauppauge DVB/S card.  I can try each patch applied individually,
instead of all the patches at once and see what the times are, but this
machine must run LL tasks and they have real-time constraints.

I need the firm timers patch because I am trying to sleep for 8ms and only
8 ms.  Is the line:

setPIDS (0,0,0,0,0);

really necessary? I can get under 8ms if I remove that.  But I'm not going
to do anything until I have a good game plan.  What is the recommended way
to attack this?

_J

In the new year, Johannes Stezenbach wrote:
> On Tue, Jul 30, 2002 at 02:53:42PM -0400, Jeremy Hall wrote:
> > 
> > I have discovered that an unmodified driver that is told to
> > SEC_SET_VOLTAGE takes over 11ms to complete this task.
> > 
> > The two calls that seem to generate the most amount of time are:
> > 
> > setPids(0,0,0,0,0); // takes up to 3 or 4 ms
> > 
> > return SecSetVoltage(val); takes upwards of 7.5 ms.  Can you think of a
> > reason for this to take so long? The kernel is 2.4.19-RC1 + ll + preempt +
> > firm timers.  The low latency and preempt patches help overall execution
> > of RT processes and firm timres helps with nanosleep, select, and other
> > sleepy tasks.  Without these, you don't get adequate sleep time, you may
> > overshoot by several ms.
> > 
> > thoughts?
> > 
> > This is with the HEAD CVS branch, not newstruct.
> 
> You did not tell us what DVB Card you use, but I suspect that the
> preempt patch conflicts with the I2C driver which generates correct
> timing with usleep() and msleep().
> 
> Does the driver work in your kernel without preempt patch?
> 
> 
> Johannes
> 



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



Home | Main Index | Thread Index