[PATCH] Mal wieder ein sectionsd-Versuch...
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Hört sich jedenfalls sehr gut an...
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Dessen bin ich mir nicht so sicher. Aber wenn niemandein offensichtlicher Denkfehler auffällt, dann werden wir es wohl probieren müssen.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Mit nem Diff bin ich dabei.
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Muss das noch abgesegnet werden, oder hast Du es schon bei Dir laufen?
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
es läuft, aber ich habe das Gefühl als ob die c/n events viel später kommen würden
-
- Interessierter
- Beiträge: 47
- Registriert: Mittwoch 10. Oktober 2007, 07:20
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Danke für diff, aber geht das nicht ganz ohne malloc ?
char *static_buf[MAX_SECTIONS_LENGHT] = {0};
und malloc mit delete ist auch nicht ok.
char *static_buf = (char *)malloc(MAX_SECTIONS_LENGHT);
delete [] static_buf;
char *static_buf[MAX_SECTIONS_LENGHT] = {0};
und malloc mit delete ist auch nicht ok.
char *static_buf = (char *)malloc(MAX_SECTIONS_LENGHT);
delete [] static_buf;
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Code: Alles auswählen
Danke für diff, aber geht das nicht ganz ohne malloc ?
ups, stimmtund malloc mit delete ist auch nicht ok.
Edit: Patch aktualisiert
-
- Interessierter
- Beiträge: 47
- Registriert: Mittwoch 10. Oktober 2007, 07:20
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Ich habe eine dumme Frage:
Was garantiert in dmx.cpp zwischen ersten read (header) und zweiten (buffer), dass es immer noch das gleiche teil in buffer kommt ?
Ich meine zwischen einem read und zweiten vergeht auch etwas zeit.
Was garantiert in dmx.cpp zwischen ersten read (header) und zweiten (buffer), dass es immer noch das gleiche teil in buffer kommt ?
Ich meine zwischen einem read und zweiten vergeht auch etwas zeit.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Das ist so ungefähr so, wie ich es mir vorgestellt habe. Ich bin leider noch nicht dazugekommen, was zu machen oder zu probieren, weil ich immer noch mit den Drachentreibern kämpfe Da weiss man erst mal wieder, was man an der dreambox oder gar der dbox2 hat
re_Look: der Treiber garantiert das hoffentlich (auf der TD anscheinend nicht, das ist ja grad mein Problem). Der Kernel puffert die sectionsd ja, und du liest nur den Puffer aus.
re_Look: der Treiber garantiert das hoffentlich (auf der TD anscheinend nicht, das ist ja grad mein Problem). Der Kernel puffert die sectionsd ja, und du liest nur den Puffer aus.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Kaputt gegangen ist scheinbar nichts. Auf ARD wird nach wie vor gePOLLERRt.
Kein Unterschied bemerkbar. Performancevorteile nicht spürbar.
Kein Unterschied bemerkbar. Performancevorteile nicht spürbar.
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
jep hier das selbe.
-
- Erleuchteter
- Beiträge: 625
- Registriert: Samstag 8. September 2007, 16:17
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Ich hab mal Probeweise diese beiden Zeilen in sectionsd auskommentiert:
Das EPG funktioniert weiterhin recht gut. Man muss eben auf den jeweiligen Transponder schalten um die späteren EPG-Daten dafür zu bekommen. Allerdings sind die hier beschriebenen Probleme damit komplett weg. Ich finde das eig. ganz OK so.
Code: Alles auswählen
dmxEIT.addfilter(0x60, 0xf1); //4a other TS, scheduled, even
dmxEIT.addfilter(0x61, 0xf1); //4b other TS, scheduled, odd
-
- Interessierter
- Beiträge: 47
- Registriert: Mittwoch 10. Oktober 2007, 07:20
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Hat schon jemand von euch Speicher verbrauch verglichen ?
@Houdini
Ich will dich nicht nerven, aber weil bei section schon new/delete in Einsatz ist, sollte mann dabei bleiben.
@Houdini
Ich will dich nicht nerven, aber weil bei section schon new/delete in Einsatz ist, sollte mann dabei bleiben.
-
- Erleuchteter
- Beiträge: 625
- Registriert: Samstag 8. September 2007, 16:17
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Hat das schon mal einer von den HDD Besitzern getestet? Ich denke das die Probleme bei Aufnahmen von z.B. ARD sich dadurch wesentlich verbessern, da der sectionsd nach dem zappen auf ARD nicht mehr die Box lahm legt. Sehr elegant ist meine Herangehensweise sicherlich nicht, allerdings schält sich imo dadurch der Kern des Problems etwas heraus.Striper hat geschrieben:Ich hab mal Probeweise diese beiden Zeilen in sectionsd auskommentiert:
Das EPG funktioniert weiterhin recht gut. Man muss eben auf den jeweiligen Transponder schalten um die späteren EPG-Daten dafür zu bekommen. Allerdings sind die hier beschriebenen Probleme damit komplett weg. Ich finde das eig. ganz OK so.Code: Alles auswählen
dmxEIT.addfilter(0x60, 0xf1); //4a other TS, scheduled, even dmxEIT.addfilter(0x61, 0xf1); //4b other TS, scheduled, odd
Meine Idee wäre es die beiden oben erwähnten Filter von der Priorität extrem herab zu setzen, so das diese wirklich nur dann Daten sammeln wenn die Box nichts anderes zu tun hat.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Typischerweise hält man den sectionsd ja an, wenn man aufnimmt, insofern sollte das für die Aufnahme keine Änderung sein.
-
- Interessierter
- Beiträge: 48
- Registriert: Freitag 9. Januar 2009, 18:52
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Bei mir gab es gravierende Unterschiede - positiver Natur. Während der Aufnahme war die Box bedienbar.
Da ich allerdings die Patches der letzten beiden Wochen eingespielt habe, kann ich noch nicht sagen ob
es am auskommentierten "addfilter" oder einem der anderen Patches liegt.
Da ich allerdings die Patches der letzten beiden Wochen eingespielt habe, kann ich noch nicht sagen ob
es am auskommentierten "addfilter" oder einem der anderen Patches liegt.
Übernimmt das nicht Neutrino? Dachte, das Gefummel im recording.{start,end} wäre kontraproduktiv?Typischerweise hält man den sectionsd ja an, wenn man aufnimmt, insofern sollte das für die Aufnahme keine Änderung sein.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Was machte den Unterschied: Houdini's Patch, das Entfernen der TS_OTHER-Filter oder beides zusammen?jojo hat geschrieben:Bei mir gab es gravierende Unterschiede - positiver Natur. Während der Aufnahme war die Box bedienbar.
AFAIR kann man das irgendwo im Neutrino einstellen....Da ich allerdings die Patches der letzten beiden Wochen eingespielt habe, kann ich noch nicht sagen ob
es am auskommentierten "addfilter" oder einem der anderen Patches liegt.Übernimmt das nicht Neutrino? Dachte, das Gefummel im recording.{start,end} wäre kontraproduktiv?Typischerweise hält man den sectionsd ja an, wenn man aufnimmt, insofern sollte das für die Aufnahme keine Änderung sein.
...zumindest gibt's ne locale dazu:
Code: Alles auswählen
seife@stoetzler:/tmp/mainline> git grep "stopsectionsd Sectionsd anhalten"|cat
tuxbox/neutrino/data/locale/deutsch.locale:recordingmenu.stopsectionsd Sectionsd anhalten
-
- Erleuchteter
- Beiträge: 625
- Registriert: Samstag 8. September 2007, 16:17
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Ich kann mir nicht vorstellen das Houdini's Patch da so viel Unterschied macht. Der sectionsd schlägt ja trotzdem voll rein sobald er auf ARD die TS_OTHER Filter anwirft. Könnte man die Priorität der beiden TS_OTHER Filter per setpriority() auf ein Minumum setzen?seife hat geschrieben:Was machte den Unterschied: Houdini's Patch, das Entfernen der TS_OTHER-Filter oder beides zusammen?
-
- Interessierter
- Beiträge: 48
- Registriert: Freitag 9. Januar 2009, 18:52
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Ich kompilier grad mal durch, um zu sehen woher der Unterschied rührt...Striper hat geschrieben:Ich kann mir nicht vorstellen das Houdini's Patch da so viel Unterschied macht. Der sectionsd schlägt ja trotzdem voll rein sobald er auf ARD die TS_OTHER Filter anwirft. Könnte man die Priorität der beiden TS_OTHER Filter per setpriority() auf ein Minumum setzen?seife hat geschrieben:Was machte den Unterschied: Houdini's Patch, das Entfernen der TS_OTHER-Filter oder beides zusammen?
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Eine dmx.cpp wie die:
http://gitorious.org/projects/tuxbox-ap ... sd/dmx.cpp
könnte helfen, denn das teilweise Lesen der section (erst 3 bytes Header, dann den Rest) wird vermutlich durch umkopieren im Kernel gemacht. Da das mit dem Treiber der TD nicht geht, habe ich die dmx.cpp so gemacht, dass immer eine komplette section gelesen wird ohne retry.
Genauer ist es dieser diff: dmx-efficiency-fix.diff(achtung: "schmutzig")
Ob der allerdings auf der dbox überhaupt funktioniert, habe ich nicht getestet.
Sectionsd generell mit "nice nice sectionsd" zu starten ist vermutlich keine schlechte Idee, aber es wird dann mehr POLLERRs geben (auch wenn die Harmlos sind, genügend User beschweren sich ja drüber).
http://gitorious.org/projects/tuxbox-ap ... sd/dmx.cpp
könnte helfen, denn das teilweise Lesen der section (erst 3 bytes Header, dann den Rest) wird vermutlich durch umkopieren im Kernel gemacht. Da das mit dem Treiber der TD nicht geht, habe ich die dmx.cpp so gemacht, dass immer eine komplette section gelesen wird ohne retry.
Genauer ist es dieser diff: dmx-efficiency-fix.diff(achtung: "schmutzig")
Ob der allerdings auf der dbox überhaupt funktioniert, habe ich nicht getestet.
Sectionsd generell mit "nice nice sectionsd" zu starten ist vermutlich keine schlechte Idee, aber es wird dann mehr POLLERRs geben (auch wenn die Harmlos sind, genügend User beschweren sich ja drüber).
-
- Erleuchteter
- Beiträge: 625
- Registriert: Samstag 8. September 2007, 16:17
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Meine Holzhammermethode hat den netten Nebeneffekt das man den EIT-Filter in der Größe auf 256 absenken kann und es trotzdem nie zu POLLER oder "Value too large for defined data type" kommt. ;)
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Zum 100. Mal: POLLERR oder EOVERFLOW sind Harmlos, schliesslich handelt es sich ja nicht um unwiederbringliche Daten. Ich glaub ich mach einfach mal die Meldungen weg
-
- Erleuchteter
- Beiträge: 625
- Registriert: Samstag 8. September 2007, 16:17
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Zum 101 Mal. Das weiß ich. Weg sind sie trotzdem! ;) :P
Zudem sagen die doch (auch wenn sie harmlos sind) nix anderes aus, als das die Box hier überfordert ist.
Zudem sagen die doch (auch wenn sie harmlos sind) nix anderes aus, als das die Box hier überfordert ist.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Der Patch ist mittlerweile wohl im CVSseife hat geschrieben:Genauer ist es dieser diff: dmx-efficiency-fix.diff(achtung: "schmutzig")
Ob der allerdings auf der dbox überhaupt funktioniert, habe ich nicht getestet.
http://cvs.tuxbox-cvs.sourceforge.net/c ... 45&r2=1.46
Bisher keine negativen Auffälligkeiten auf der Dbox2.