[linux-dvb] Skystar 2 / Flexcop CVS driver: frontend event storm?

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

 



Hi,

I have just switched my VDR system (Nexus-S 2.2 and Skystar 2 2.6) to
2.6 kernel and CVS dvb-kernel.

Now I see VDR consuming nearly 100% CPU after start, most if the time
going back to normal after some time (tens of seconds).

The offending VDR thread is the tuner thread for the Skystar 2.

The tuner thread reads the frontend event fd periodically and performs
actions depending on the event received.

The pseudo-code is like this:

while (1) {

  poll_frontend_with_timout_100ms ();
  if (interesting_frontend_event)
     handle_this_event ();
  else
     do_nothing ();
}

Under normal conditions, this loop idles with 100ms because frontend
events only happen when tuning to a new channel.

But with the flexcop driver, this loop seems to spin extemely fast,
consuming all CPU cycles. If I insert a sleep(10ms) in the loop, the
high CPU load disappears. There seems to come an event storm from the
frontend.

I have cross checked with the old skystar2 driver contained in the
kernel package (SuSE 9.3 default kernel, 2.6.11.4 based), and could not
see the problem. The 2.4 skystar2 driver did not show the problem either.

Ideas, hints?

Wolfgang






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

  Powered by Linux