Artefakte bei Technotrend DVB-S2 6400 HD-FF: Interrupts

  • Ich bin mir nicht sicher, ob ich auf einer "validen" Fährte bin, oder ob ich vielleicht auch einen anderen Thread oder eine frühere Nachricht übersehen habe. Daher versuche es ich mal mit einem neuen Thread.


    Und zwar ist mir schon häufiger die hohe Interruptlast der Karte aufgefallen, ich dachte dies wäre dauerhaft, dem ist aber nicht so. Eigentlich - im LiveTV Modus - ist dies kein Problem (ca. 45 Interrupts/Sek/CPU).
    Interessanterweise auch nicht während 1x LiveTV und 3 Aufnahmen (alles SD) auf anderen Transpondern laufen. Erste ganz leichte Artefakte tauchen auf, nachdem eine vierte Aufnahme auf dem aktiven Live-Transponder (hier: VOX) starte. Diese sind auch in der weiteren Aufnahme des Transponders (RTL) zu finden - stellte ich später fest. Ich denke die Anzahl der Aufnahmen ist ggf. Zufall.
    Ich habe dann die Aufnahmen angehalten (unauffällig über einige Minuten), dann "schnellen" mehr oder weniger plötzlich die Interrups hoch (>200/Sek/CPU) und es bilden sich weitere, massive Artefakte, wenn wenige Artefakte da sind, "ruckelt" das Bild leicht. Ein Umschalten auf einen anderen Transponder (Kabel, dann zurück zu Vox) führt dazu, dass die Artefakte wieder verschwinden, die Interruptlast ist wieder zurück (konstant) auf ca. 43/Sek./CPU, auch das Bild ist nicht mehr ruckelig.
    Im Log befinden sich keine Einträge. Ich habe HD Aufnahmen und LiveTV explizit ausgespart, da hier schon beim LiveTV quasi sofort Probleme auftreten (Artefakte) und ich diese separat betrachten möchte.


    Während ich diese Beobachtungen dokumentiert habe, ruckelte das Bild (nach dem "Zappen" von VOX (channel 10) bis zum Ansehen von RTL (channel 4)) nach einiger Zeit und es gab Artefakte: in diesem Moment hat das System eine Interruptlast von ca. >200/Sek/CPU. Diesmal ohne Aufnahmen oder andere Aktionen.


    Im Dateianhang befindet sich eine genaue Protokollierung der Interruptthematik, wie ich sie auch schonmal etwas unvollständiger im großen Thread der 6400er gepostet hatte.
    Wärmeprobleme möchte ich (jetzt) ausschliessen, die CPU/GPU Wärme war relativ konstant und diese befindet sich im Lüfterstrom der neuen DVB-Karte.


    Kann dies jemand nachvollziehen? Tritt dieses auch bei anderen nach dem Anhalten mehrerer Aufnahmen - oder spontan nach einiger Zeit auf? Ich muss gestehen, ich stochere ziemlich herum und sehe den Zusammenhang zwischen LiveTV, einer Aufnahme und dem Stoppen einer Aufnahme in Bezug auf die Aktivitäten auf der Karte nicht. Erst Recht wird es merkwürdig, wenn das LiveTV ohne bestimmten Grund "ruckelt" und die Interruptlast dabei massiv und ohne erkennbaren Grund steigt (hier um Faktor 4).


    Leider befinden sich überhaupt keine brauchbaren Nachrichten im Log (Syslog oder VDR).


    Vielleicht gibt es noch andere, die diese Beobachtungen teilen?



    Board: AT5IONT-I, D525 2GB RAM, aktiviertes HyperThreading - 4 genutzte CPUs
    Debian Squeeze, 2.6.32-5AMD64
    Aktuelle Treiber, Firmwares und Loader von Powarman (www.aregel.de) - letzten Patch (...test#2) von UFO zum Test integriert.
    Kernelmodulparameter für saa716x_ff: INT_TYPE=0



    Ich habe zwei Dateianhänge hinzugefügt, um meine gestrigen Beobachtungen zu dokumentieren.


    Aktuell versuche ich diese Beobachtungen unter dem scheinbar etwas stabileren Modul "INT_TYPE=2" auch zu reproduzieren, bisher stelle ich nicht mehr als <50 Interrupts fest und hatte keine Probleme.



    Einen schönen Abend,
    Ingo


  • Board: AT5IONT-I, D525 2GB RAM, aktiviertes HyperThreading - 4 genutzte CPUs
    Debian Squeeze, 2.6.32-5AMD64
    Aktuelle Treiber, Firmwares und Loader von Powarman (www.aregel.de) - letzten Patch (...test#2) von UFO zum Test integriert.
    Kernelmodulparameter für saa716x_ff: INT_TYPE=0


    Aber nicht etwa "linux-media.tar.bz2"?
    Dieses Archiv enthält afaik nicht den aktuellsten Treiber...


    Noch einmal zurück zu INT_TYPE=0:
    Was sagt "cat /proc/interrupts"? (bitte komplette Ausgabe)


    Ändert sich etwas, wenn man den Interrupt fest einer CPU zuweist?
    Z.B. für IRQ 17 mittels "echo 1 > /proc/irq/17/smp_affinity"


    Ein paar allgemeine Bemerkungen:
    Sobald zwei verschiedene Transponder aufgezeichnet werden, ist die maximale Datentransferrate erreicht.
    Für die Karte spielt es keine Rolle, ob eines oder alle Programme eines Transponders aufgezeichnet werden.
    Dies macht sich jedoch in Punkto CPU und Platten-I/O bemerkbar.


    Ich würde gerne wissen, ob die Interruptlast durch die Aufnahme- oder die Wiedergabeseite erzeugt wird.


    Wie sieht die Interruptlast aus, wenn zwei verschiedene Transponder aufgezeichnet werden und gleichzeitig eine alte Aufnahme wiedergegeben wird?


    Falls die Interruptrate hoch geht:
    - Ändert sich etwas, wenn man die Wiedergabe pausiert? (Pause - nicht beenden!)
    - Falls nein: Ändert sich etwas, wenn man - weiterhin im Pause-Modus - beide Aufnahmen abbricht?
    - Falls nein: Ändert sich etwas, wenn man die Wiedergabe beendet?
    - Falls nein: Ändert sich etwas, wenn man auf einen anderen Transponder umschaltet?


    CU
    Oliver

  • Hallo Oliver,


    nach wenigen Artefakten heute abend (keine großen Tests, nur LiveTV und eine Aufnahme bzw. dann Wiedergabe) im Betrieb mit INT_TYPE=2, habe ich jetzt gerade nach deiner Nachricht, den INT_TYPE wieder auf "0" gesetzt.
    EDIT: Nach dem letzten Hinweis von Powarman in Bezug auf die Implementierung von MSI-X (INT_TYPE=2) werde ich bei INT_TYPE=0 bleiben.


    Ich verwende den DVB Treiber mit dem CVS-Namen "v4l-dvb-saa716x-74e384b3b0aa". Müsste aus dem CVS vom 9.5. stammen und wurde um den Patch (Ufo #2) erweitert.



    Die Ausgabe von cat /proc/interrupts:


    root@cinemahd:~# cat /proc/interrupts
    CPU0 CPU1 CPU2 CPU3
    0: 43 1 0 0 IO-APIC-edge timer
    1: 1 2 3 2 IO-APIC-edge i8042
    8: 1 0 0 0 IO-APIC-edge rtc0
    9: 0 0 0 0 IO-APIC-fasteoi acpi
    14: 2821 2873 2865 2847 IO-APIC-edge ata_piix
    15: 0 0 0 0 IO-APIC-edge ata_piix
    16: 53 53 53 53 IO-APIC-fasteoi uhci_hcd:usb6, HDA Intel
    17: 2283 2200 2281 2257 IO-APIC-fasteoi SAA716x Core
    18: 0 0 0 0 IO-APIC-fasteoi ahci, uhci_hcd:usb5
    19: 20 20 20 20 IO-APIC-fasteoi xhci_hcd:usb2, uhci_hcd:usb4, HDA Intel
    23: 3880 3911 3838 3881 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb3
    NMI: 0 0 0 0 Non-maskable interrupts
    LOC: 16063 18752 13398 14509 Local timer interrupts
    SPU: 0 0 0 0 Spurious interrupts
    PMI: 0 0 0 0 Performance monitoring interrupts
    PND: 0 0 0 0 Performance pending work
    RES: 228 180 94 306 Rescheduling interrupts
    CAL: 2603 3081 38 35 Function call interrupts
    TLB: 4217 2321 1285 4124 TLB shootdowns
    TRM: 0 0 0 0 Thermal event interrupts
    THR: 0 0 0 0 Threshold APIC interrupts
    MCE: 0 0 0 0 Machine check exceptions
    MCP: 1 1 1 1 Machine check polls
    ERR: 3
    MIS: 0



    Die Interruptstatistik bei verschiedenen Dingen im Anhang - LiveTV inkl. Aufnahmen (Interrupts_20110525_Test#1.rtf) und Aufnahmen inkl. Wiedergabe (Interrrupts_20110525_Test#2.rtf).
    Ich habe ein user.log angehängt, wenn die Interruptlast nach unten ging (user.log_20110525 / _2 / _3 .


    Ich habe zwischendurch auf die Affinität des Interrupts an eine CPU geändert, machte das Auswerten leichter, aber ändere am Verhalten leider nichts.



    Wenn ich noch etwas probieren kann? Ich helfe gerne...


    Gruß
    Ingo

  • Hallo,


    den ganzen Abend (RTL2, VOX, SatEins) geschaut und keine Artefakte - VDR war mit "Kanal vom Vorabend" gestartet (vermutlich RTL (?), nicht ARD SD).
    Aufnahme bzw. LiveTV auf N3 gestartet, sofort Artefakte und hohe Interruptlast. Das Starten einer Wiedergabe brachte in diesem Fall interessanterweise keine Besserung.


    Ich habe später auch mit ARD HD probiert, das gleiche, sofort Artefakte und hohe Interruptlast.
    Ein Neustart des VDR inkl. Neuladen der DVB Treiber - Kanal war ARD HD und nach Neustart natürlich wieder ARD HD (kein "Zapping"), hat sofort die Interruptlast gesenkt (auf ca. 136 / Sek / CPUs). Keine Artefakte im HD Betrieb über ca. 15 Minuten. Umgeschaltet auf N3 und ARD SD, keine Artefakte, stabile Interruptwerte. Umschalten zur Probe auf RTL - sofort hohe Interruptlast und Artefakte - zurückgeschaltet, alles wieder in Ordnung.


    Wäre interessant gewesen, ob der Treiberreload hier auch wieder stabile Interruptwerte auf RTL gebracht, und erneut hohe Werte bei ARD und Co gebracht hätte.


    Ich denke, ich muss mal Femon zur Hilfe nehmen, um den jeweiligen Tuner zu ermitteln und diesen mit in die Betrachtung einbeziehen.



    Mich würde interessieren, was dafür verantworlich sein kann, dass die DVB Karte mehr Interrupts fordert.



    Gruß
    Ingo

    HD-VDR
    Hardware: TT S2-6400, aktuelles Debian; DVB-Treiber aus dem CVS, VDR und DVBHdDevice aus dem CVS bzw. latest; Intel DH67BL mit Core i3 2.4GHz (alt: ASUS AT5ION-T mit Intel D525)

  • Hallo,


    ab jetzt teste ich mit der neuen Firmware. Aktuell konnte ich auch hier eine hohe Interruptrate produzieren (durch Aufnahme, Zapping, Wiedergabe).
    Artefakte traten bei einer Interruptrate von ca. 1400/Sek/CPU#1 auf. Ein Neustart des VDR inkl. DVB Treibers reduzierte die Rate auf 105/Sek/CPU#1.


    Ich konnte jedoch auch eine ganze Zeit (bis zum Test mit der Aufnahme/Wiedergabe) ARD HD ohne Artefakte gucken, zuvor hatte ich auf ProSieben ebenfalls keine Artefakte gesehen.


    EDIT: einige Detailwerte, am Ende meine ich wird es auch reproduzierbar durch Transponderwechsel / Wiedergabe <--> LiveTV Wechsel bringt Interruptrate auf normales Niveau für aktiven Live Transponder


    Gruß
    Ingo

  • Mittlerweile habe ich habe einige Tests bzgl. Interruptraten gemacht.


    Es gibt im wesentlichen die Interruptquellen Tuner 1, Tuner 2 und Wiedergabe-Fifo.


    Sobald ein Tuner benutzt wird, kommen Daten mit einer Rate von ca. 75 Int/s.
    Bei zwei aktiven Tunern dann eben die doppelte Rate. Kein Problem, dies ist normal.


    Was die Wiedergabeseite angeht, habe ich den merkwürdigen Effekt gesehen, daß im Transfermode die Interruptrate immer weiter ansteigt. Dies könnte erklären, daß - bei einem langsameren System - irgendwann die CPU derart mit Interrupts beschäftigt ist, daß erst die Bedienung träge wird und später Artefakte auftreten.


    Was da genau passiert, habe ich allerdings noch nicht verstanden.
    Es ist jedenfalls kein empfangsseitiges Problem, sondern auf der Ausgabeseite zu suchen.


    CU
    Oliver


    P.S.:
    Daß die neue Firmware daran nichts ändert, überrascht nicht.
    Imho gibt es zwei verschiedene Probleme, die ähnliche Symptome haben (Artefakte):
    - ansteigende Interruptrate (s.o., durch Umschalten zu beheben).
    - Kaltstartproblem (Buffer-Alignment, sollte durch saa716x_ff_demux_worker_test_2.diff behoben sein, evtl. auch durch die neue FPGA-Firmware)

  • Das lässt hoffen, dass das Problem behebbar ist.

    mfg traxanos
    ____________________
    Ist das neu?, Nein Linux!


    VDR1: Zotac NM10-ITX Wifi - 2GB Ram - S2-6400 HD mit IR - yavdr 0.4 (development) - LianLi PC-Q11


    Tags: VDR-HD - AT5IONT-I - 4GB Ram - 512MB ION - TT 3600 DVB-S2 - TT6400-FF - Sundtek DVB-S2 Sundtek DVB-C - Tevii S480 (dank an L4M für kostenlose Bereitstellung) - yaVDR 0.5 (development) - SKY - HD+ - Atric - X10 FB - Zotac ID41 PLUS - SilverStone LC19B-R - Yamaha RX-V671 - Samsung 8Series 55"

  • Also gerade wieder gehabt: 1000-3000 Interrupts pro Sekunde! Neuste Firmaware aber ohne den Ufo-Patch #1+2.
    Dieses Interupptverhalten habe ich z.B. beim AT5ION auch wenn ich XINE als Ausgabe verwenden und somit nur die Tuner verwende.

    mfg traxanos
    ____________________
    Ist das neu?, Nein Linux!


    VDR1: Zotac NM10-ITX Wifi - 2GB Ram - S2-6400 HD mit IR - yavdr 0.4 (development) - LianLi PC-Q11


    Tags: VDR-HD - AT5IONT-I - 4GB Ram - 512MB ION - TT 3600 DVB-S2 - TT6400-FF - Sundtek DVB-S2 Sundtek DVB-C - Tevii S480 (dank an L4M für kostenlose Bereitstellung) - yaVDR 0.5 (development) - SKY - HD+ - Atric - X10 FB - Zotac ID41 PLUS - SilverStone LC19B-R - Yamaha RX-V671 - Samsung 8Series 55"

    2 Mal editiert, zuletzt von traxanos ()

  • Ich kann auch noch ein paar Interrupt - Raten beisteuern:


    HD mit 720p ca. 1000...1200 / Sec
    SD ca 500...700 / Sec
    HD mit 1080i ca 3000...4500 / Sec


    Alles im Transfermodus, aber ohne Artefakte oder sonstige Probleme.


    Falk

  • Dies könnte erklären, daß - bei einem langsameren System - irgendwann die CPU derart mit Interrupts beschäftigt ist, daß erst die Bedienung träge wird und später Artefakte auftreten.


    Hi,


    genau das habe ich bei meinem System. Allerdings treten bei mir keine Artefakte auf sondern das OSD wird irgendwann nicht mehr bedienbar bzw. es dauert ewigkeiten bis es reagiert.


    EDIT:
    Artefakte treten bei mir dann nur in Aufnahmen auf. Live TV ist davon anscheinend nicht betroffen bzw. ist mir bisher nicht aufgefallen.

  • habe jetzt nochmal über einen längeren zeitraum getestet.


    uptime: 2830 sekunden
    interrupts: 62447521


    macht also 22.000 interrupts pro sekunde


    baue gerade den patch von ufo ein (#2). und dann teste ich nochmal.

    mfg traxanos
    ____________________
    Ist das neu?, Nein Linux!


    VDR1: Zotac NM10-ITX Wifi - 2GB Ram - S2-6400 HD mit IR - yavdr 0.4 (development) - LianLi PC-Q11


    Tags: VDR-HD - AT5IONT-I - 4GB Ram - 512MB ION - TT 3600 DVB-S2 - TT6400-FF - Sundtek DVB-S2 Sundtek DVB-C - Tevii S480 (dank an L4M für kostenlose Bereitstellung) - yaVDR 0.5 (development) - SKY - HD+ - Atric - X10 FB - Zotac ID41 PLUS - SilverStone LC19B-R - Yamaha RX-V671 - Samsung 8Series 55"

  • Interessant, das sind sehr viele Interrupts. Ich habe eine solche Anzahl noch niemals gesehen. Das Höchste waren aktuell ca. 3500 bei einem HD Sender. Hattest du denn in dem Zeitraum auch Artefakte oder ruckeln?



    Ich möchte ausserdem ein paar neue Details hinzufügen. Heute habe ich einige Tests mit neuer Firmware (1.07), UFO Patch #2 und Femon-Plugin gemacht.
    --> bisher komplett KEINE Artefakte gesehen... völlig anderes Verhalten als mit der Firmware 1.05


    Aber die Interrupts schwanken sehr stark - meist nach Tunerwechsel per Femon - lässt sich in der Regel durch Umschalten korrigieren.
    LiveTV und eine parallele Aufnahme auf einem anderen Transponder erhöht die Interruptlast nicht. Damit ist interessant, dass eine Aufnahme auf Tuner #1 nicht zu hoher Interruptlast führt, LiveTV (per Femon forciert) auf dem Tuner #1 dagegen reproduzierbar sofort.


    Beim Starten einer Wiedergabe bzw. beim Beenden dieser wird das LiveTV zurück zu Tuner #0 geschaltet, die Interruptrate geht (ab dem Start der Wiedergabe) runter und bleibt unten, wenn wieder LiveTV gesehen wird. Es wirkt wie ein "Reset" der hohen Interruptlast. Zumindest wenn Tuner #0 unbelegt ist. Fälle in denen dieser Reset nicht funktioniert, erkläre ich mir z.B durch eine weitere, ggf. zweite Aufnahme auf anderem Transonder als das aktuelle LiveTV, sodass LiveTV über Tuner #1 gesehen wird.


    Dieser "Reset" der Interruptrate wird wohl nicht ausgeführt, wenn per Femon zwischen den Tunern geschaltet wird. Hingegen wenn man den Kanal oder Transponder wechsel, reduziert sich die Interrupt ebenfalls wieder.
    Ich glaube diese Beobachtungen decken sich mit denen der letzten Tage. Allerdings gibt es tatsächlich seit der neuen Firmware (1.07) erst bei sehr vielen Interrupts (>3000 / Sek / CPU#1) wirklich Artefakte. Ruckelig wird das Bild aber etwa ab 1000 Interrupts / Sek / CPU#1, wobei das OSD interessanterweise bisher immer bedienbar bleibt.


    Ich betreibe mein System aktuell mit einer Affinität des Interrupts der DVB-Karte (hier: 17) auf die CPU#1 (einer der ersten Antworten von UFO), insbesondere um die Interrupts / Sekunde besser zählen zu können.
    Ausserdem protokolliere ich die Interruptrate minütlich (immer 30 Sekunden Betrachtungen) in einem gesonderten Logfile, um ggf. auch rückwirkend prüfen zu können.



    Vielleicht hilft dies beim Einkreisen der hohen Interruptlast weiter.
    Ich denke, die Werte müssten nicht so hoch sein, im SD Betrieb komme ich bisher immer mit <200 und im HD mit etwa 800 Interrupts pro Sekunde auf einer CPU aus. Eine Aufnahme führt zu kaum mehr Interrupts.


    Die neue Firmware läuft bei mir allerdings - und das ist sehr erfreulich - deutlich stabiler (=artefaktfreier) als die vorherige Version.



    Viele Grüße
    Ingo

  • Ich denke, es nicht notwendig, weiter Interrupts zu zählen. ;)

    Wie es aussieht, tritt die hohe Interruptlast nur im Transfermode auf - wenn man quasi live anschaut, was gerade aufgezeichnet wird (bzw. mit femon). Der FIFO wird nicht richtig gefüllt, was zu hoher Interruptlast führt. Im Extremfall gibt es Ruckeln und stotternden Ton.


    Bei Wiedergabe einer Aufnahme passiert es dagegen nicht. Man kann also das Problem (vorläufig) umgehen, indem man Timeshift verwendet.


    CU
    Oliver

  • Hi,


    super vielen Dank!

  • Mit FPGA Firmware 1.08 sollte sich die Interruptlast im Transfermode/Playback deutlich verringern, bei mir geht es von 1600 auf 250 FIFO interrupts/s runter (auf Das Erste HD im Transfermode).


    Super, vielen Dank!
    Habe die neue Firmware gerade gezogen und spiele sie mal für die ersten Tests ein.

    HD-VDR
    Hardware: TT S2-6400, aktuelles Debian; DVB-Treiber aus dem CVS, VDR und DVBHdDevice aus dem CVS bzw. latest; Intel DH67BL mit Core i3 2.4GHz (alt: ASUS AT5ION-T mit Intel D525)

  • (auf Das Erste HD im Transfermode)


    Wie hälst du die Karte im Transfermodus? Ich habe schon desöfteren angesprochen, dass es notwendig ist, die Karte im Transfermodus zu belassen, wenn man das böse Plugin verwenden will.


    Dir wurde auch schonmal ein Patch von "der_dag" zugesendet, der das Verhalten des dvbhddevice-Plugin so verändert, dass beide Tuner gleich behandelt werden. Könntest du diesen Patch übernehen (--> Zusätzlicher Plugin Parameter)??


  • Super, vielen Dank!
    Habe die neue Firmware gerade gezogen und spiele sie mal für die ersten Tests ein.


    Hallo,
    ich habe einige Tests gemacht. Nur LiveTV, keine Aufnahmen.
    Umgeschaltet habe ich via Femon Plugin zwischen den Tunern bzw. nur die Interruptlast bei aktivem/inaktivem Femon verglichen.


    1. Keine Artefakte! Weder im SD noch HD Betrieb bisher.
    2. Leider immernoch hohe Interruptraten bei Tunerwechsel per Femon bzw. aktivem Femon (=Transfermodus?).


    Anbei die Ergebnisse (wieder Interrupts gezählt, aber damit bleibts vergleichbar :-)).


    ZDF HD kann ich im nicht-Transfermodus mit ebenfalls ca. 200 Interrupts ansehen. Ich glaube so niedrig war der Wert zuvor (d.h. mit älteren Firmwares) nie.
    Den Ufo-Patch #2 hab ich immernoch eingebaut.


    Viele Grüße
    Ingo

  • Hallo,
    ein zweiter Test mit zwei Aufnahmen (ohne Femon) gibt gleiche Daten.
    Artefakte hatte ich keine, egal wie ich geschaltet habe, oder wie hoch die Interrupts gingen. Diese bleiben allerdings auch meist unter 1000/Sekunde.


    Ich füge auch hier mal das Log bei. Am Anfang ohne Aufnahme (liveTV Kabel) [geringe Rate], dann Start der beiden Aufnahmen auf unterschiedlichen Transpondern (RTL2 (7) und SAT.1 (5)).
    Dann habe ich etwas herumgeschaltet [hohe Rate]. Am Ende dann die Aufnahmen beendet, erst noch den Kanal belassen (verblieben im Transfermodus?) [hohe Rate], dann umgeschaltet (Transfermodus verlassen) [niedrige Rate].


    Ich denke, da ist noch Handlungsbedarf trotz neuer Firmware? Toll ist, das es mittlerweile ohne Tonaussetzer und Artefakte klappt. Es bleibt ein "ruckeliges" Bild, wenn die Interruptrate zu hoch ist (ca. ab 800/Sekunde sichtbar).



    Gruß
    Ingo

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!