ffmpeg na kernelu ≥ 5.9

ffmpeg na kernelu ≥ 5.9
« kdy: 09. 02. 2021, 11:23:19 »
Zdravim,

mam problem s kernelem 5.9 a vyse na Fedore 33.
ffmpeg pri dekodovani x264 rtsp streamu spotrebovava vyrazne vice cpu, asi tak 2x. Neni to jen otazka konkretniho cpu, dela to vsude, jak pri dekodovani na Intelu i AMD. Zajimave je, ze na bezne dekodovani souboru s x264 videem to nema zadny vliv, pouze rtsp stream. Nejvetsi vliv maji parametry "-s" a "-pix_fmt". Obecne je kernel 5.9 a vyse o chlup sviznejsi, zpomaleni jsem zaznamenal pouze v tehle konkretni situaci.
Chybu jsem reportoval, bohuzel bez odezvy... https://bugzilla.redhat.com/show_bug.cgi?id=1902818
Rad bych to rozklicoval, ale nevim co uz vyzkouset, abych prisel na to, cim to je. Aktualne se priklanim k tomu, ze to je opravdu kernelem.

Diky za rady.


_Jenda

  • *****
  • 1 608
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:ffmpeg na kernelu ≥ 5.9
« Odpověď #1 kdy: 09. 02. 2021, 17:23:31 »
  • Porovnat výpisy (jestli neříká třeba jaké vektorové instrukce používá).
  • Pomocí programu perf změřit, kde se tráví nejvíc času.
  • Kouknout/porovnat strace (nedělá to třeba nesmyslně mnoho syscallů?)
  • Pokusit se to izolovat na co nejmenším případě (např. přilinkovat h264 knihovnu přímo ke svému programu)
  • Pokusit se provést změny uvedené v paperu Producing Wrong Data Without Doing Anything Obviously Wrong!

ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
Re:ffmpeg na kernelu ≥ 5.9
« Odpověď #2 kdy: 10. 02. 2021, 11:53:34 »
Zdravim,

mam problem s kernelem 5.9 a vyse na Fedore 33.
ffmpeg pri dekodovani x264 rtsp streamu spotrebovava vyrazne vice cpu, asi tak 2x. Neni to jen otazka konkretniho cpu, dela to vsude, jak pri dekodovani na Intelu i AMD. Zajimave je, ze na bezne dekodovani souboru s x264 videem to nema zadny vliv, pouze rtsp stream. Nejvetsi vliv maji parametry "-s" a "-pix_fmt". Obecne je kernel 5.9 a vyse o chlup sviznejsi, zpomaleni jsem zaznamenal pouze v tehle konkretni situaci.
Chybu jsem reportoval, bohuzel bez odezvy... https://bugzilla.redhat.com/show_bug.cgi?id=1902818
Rad bych to rozklicoval, ale nevim co uz vyzkouset, abych prisel na to, cim to je. Aktualne se priklanim k tomu, ze to je opravdu kernelem.

Diky za rady.

Takže když nabootujete do staršího kernelu, výkon se zvedne? Máte to ověřeno?

Re:ffmpeg na kernelu ≥ 5.9
« Odpověď #3 kdy: 10. 02. 2021, 12:48:05 »
Diky za tipy, bohuzel z tich vystupu nejsem schopen moc vycist. Pokud by chtel nekdo nahlednout, tak prikladam logy.

  • Porovnat výpisy (jestli neříká třeba jaké vektorové instrukce používá).
  • Pomocí programu perf změřit, kde se tráví nejvíc času.
  • Kouknout/porovnat strace (nedělá to třeba nesmyslně mnoho syscallů?)
  • Pokusit se to izolovat na co nejmenším případě (např. přilinkovat h264 knihovnu přímo ke svému programu)
  • Pokusit se provést změny uvedené v paperu Producing Wrong Data Without Doing Anything Obviously Wrong!

Re:ffmpeg na kernelu ≥ 5.9
« Odpověď #4 kdy: 10. 02. 2021, 12:51:30 »
Mam overeno, ze ffmpeg spotrebovava na kernelu 5.9+ cca 2x vice cpu.

Takže když nabootujete do staršího kernelu, výkon se zvedne? Máte to ověřeno?


Re:ffmpeg na kernelu ≥ 5.9
« Odpověď #5 kdy: 10. 02. 2021, 13:58:43 »
Jeste mi napadlo, kdyz jsem kontroloval nastaveni cpu, kernel 5.9+ nove pouziva regulator shedutil, narozdil od 5.8 kde bylo ondemand. A vypada to, ze na 5.9+ se drzi prumerna frekvence niz nez u 5.8. Nemuze to byt zpusobeno timhle? V tom se moc nevyznam, ale laicky receno 5.9+ provozuje cpu na nizsi frekvenci, ale tim padem ho vyuziva z vice procent?
Pripojuju jeste dalsi logy a mereni bylo provedeno znova presne na 500 zpracovanych snimku pomoci ffmpeg.

Re:ffmpeg na kernelu ≥ 5.9
« Odpověď #6 kdy: 10. 02. 2021, 14:09:18 »
Vypada to, ze zahada je objasnena, kdyz zmenim governer pomoci:
`cpupower frequency-set -g ondemand`
tak vytizeni cpu na kernelu 5.10 odpovida tomu co bylo na 5.8  ::)