[linux-dvb] kernel memleak with DVB drivers
Stefan Seyfried
seife at gmane0305.slipkontur.de
Tue Aug 2 12:13:38 CEST 2005
On Tue, Jun 28, 2005 at 09:31:25PM +0000, Stefan Seyfried wrote:
> On Sun, Jun 19, 2005 at 05:56:29PM +0000, Stefan Seyfried wrote:
>
> > i just tried to reproduce it this way and wasn't able to reproduce; It seems
> > to happen only when using dvbd to tune in.
> > This one reproduces it easily:
> > --------------------------------
> > #!/bin/bash
> > TYPE=dvb-s
> >
> > for CHAN in 'Das Erste' ZDF 'RTL Television' EinsPlus SAT.1 'WDR Essen'; do
> > echo "$CHAN"
> > dvbcat -o /dev/null -d 5 $TYPE "$CHAN" &
> > PID=$!
> > tv_grab_dvb > /dev/null
> > kill $PID; sleep 2
> > done
> > --------------------------------
>
> > I would have bet i have seen it with tzap on the cinergyT2, but i can only
> > verify this tomorrow when i am back in dvb-t-land.
>
> seems like i had some hallucinations :-) The cinergyT2 behaves exactly like
> the budget-ci: tzap does not expose the memory leak but dvbd does. It does not
> matter if i grab the EPG with tv_grab_dvb or with "dvbrowse -p", after tuning
> to all 6 transponders here in Nuernberg with dvbcat/dvbd, i have 10MB less
> free memory.
I have found out what the difference between tzap and dvbd is WRT tuning:
dvbd keeps the frontend (and demux?) FDs open for 5 seconds after its last
client exited, so the flow of events is:
open FDs
tune channel, start dvr
stop dvr, tune channel start dvr
stop dvr, tune channel start dvr
....
close FDs
while with tzap it is:
open FDs
tune channel, start dvr
stop dvr
close FDs
repeat ;-)
If e.g. dvbrowse -p is running in the background, i lose about 1.5MB of
kernel memory with the first method, none with the second.
I have modified dvbd to close the filedescriptors immediately after the last
client exited, but this is merely a workaround for this driver bug.
Should i file a bug at bugzilla.kernel.org or is reporting this here enough?
--
Stefan Seyfried
More information about the linux-dvb
mailing list