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