On Sat, 29 Nov 2003 15:59:21 +0100
Holger Waechtler <holger@convergence.de> wrote:
Roberto Ragusa wrote:
In relation to "one of the first checks", do you think that the swfilter
code is fast enough to let us just open_whole_bandwith when we're out of
hw filters?
sure, why not? All other decoder-less PCI cards wotk reliably the same
way...
Maybe I didn't explain well what I meant.
I'm not saying "will the hardware be fast enough?".
I'm saying, instead, the following:
skystar2 filter emulation:
- let S2EMU be the time for every packet examined (and then accepted or refused)
swfilter:
- let SWF be the time for every packet examined (and then accepted or refused)
With skystar2 filter emulation, processing one packet takes:
S2EMU + SWF * fraction_accepted
With swfilter only, processing one packet takes:
SWF
"Swfilter only" is better if SWF < S2EMU / ( 1 - fraction_accepted )
Now, what we have is
S2EMU = a small time (comparison between pid value and an array of 10 or
20 elements)
fraction_accepted = 0.1 or 0.2
so the question is if SWF is really less than 0.9 S2EMU.
This is where I want your opinion.
You said that it is one of the first tests, but I'm wondering if it is
really fast enough to be the best choice.
For example, if the packet is copied to a buffer, SWF is certainly
very big. Even if there is no copy, I guess that S2EMU is too small
to be beaten.
There is no copy unless the PID is matching, the sopfware demux
algorithm is basically doing the same like the S2EMU does, only for
packets that passed the PID check further processing will get performed.