[linux-dvb] High CPU load in "top" due to budget_av slot polling
r.schedel at yahoo.de
Thu Apr 17 17:27:54 CEST 2008
Robert Schedel wrote:
> Is the 250ms timeout an approved limit? Decreasing it would push the
> load further down. Probably it still has to cover slow CAMs as well as a
> stressed PCI bus. Unfortunately, without CAM/CI I cannot make any
> statements myself.
Just got another idea to improve the code: Function
"saa7146_wait_for_debi_done_sleep" could be reworked to use what is
known as "truncated binary exponential backoff" algorithm. IOW, on each
sleep duplicate the period from 1ms until a fixed maximum, e.g. 32ms.
This way polling ends fast for those users with fast bus/CAM, and those
requiring 200ms due to slow bus/CAM should not worry about e.g. 216ms
My first tests look promising (load goes down to 0). However, is not the
simple BEB algorithm already patented?
More information about the linux-dvb