Opened 13 years ago

Closed 13 years ago

#892 closed patch (fixed)

Add better support for single-transponder EIT

Reported by: nooneimprt4nt@… Owned by: danielk
Priority: minor Milestone: 0.20
Component: dvb Version: head
Severity: medium Keywords: eit
Cc: Ticket locked: no

Description

My provider sends all EIT data on a single transponder for the multi-day info. This is a problem because siparser can emit 1000 events/sec but eitscanner can only handle between 5 and 100 events/sec (5 calls to EITHelper:ProcessEvents, each of which will handle between 1 and 20 events). The end result is that huge amounts of memory ends up getting allocated, which eventually causes mythbackend to run out of memory.

The included patch does 2 things: 1) collapse multiple event-lists such that we always execute kChunkSize events 2) create flow-control for siparser to turn it off when the queue gets too big.

Attachments (4)

dvbdiff (3.0 KB) - added by nooneimprt4nt@… 13 years ago.
dvbdiff.2 (4.0 KB) - added by nooneimprt4nt@… 13 years ago.
Fist try got corrupted. Try again.
dvbdiff.3 (4.2 KB) - added by nooneimprt4nt@… 13 years ago.
Third time for sure. Dunno why building the patch was so hard.
eitratelimit_#892_8612.patch (5.4 KB) - added by greg 13 years ago.
Small mods to the previously submitted patch

Download all attachments as: .zip

Change History (8)

Changed 13 years ago by nooneimprt4nt@…

Attachment: dvbdiff added

Changed 13 years ago by nooneimprt4nt@…

Attachment: dvbdiff.2 added

Fist try got corrupted. Try again.

Changed 13 years ago by nooneimprt4nt@…

Attachment: dvbdiff.3 added

Third time for sure. Dunno why building the patch was so hard.

comment:1 Changed 13 years ago by danielk

Milestone: 0.190.20

Changed 13 years ago by greg

Small mods to the previously submitted patch

comment:2 Changed 13 years ago by greg

I've added a slightly modified version nof this patch to this ticket. The previous version would emit the StopParsing? signal during every pass through the loop if the size was still greater than the Maxsize. I saw it get called many times in a few cases. With this new patch it only gets called once when over the Maxsize, and once to reenable parsing when we are below the chunksize.

comment:3 Changed 13 years ago by janne-mythtv@…

I found a bottle neck in the DVB event parsing. Please try the patch in #1420

comment:4 Changed 13 years ago by danielk

Resolution: fixed
Status: newclosed

(In [9689]) References #1035, Fixes #892. Implements rate limiting for EIT events.

Note: See TracTickets for help on using tickets.