abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    dnes 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 2
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 0
    19.12. 10:11 | IT novinky

    V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od

    … více »
    Ladislav Hagara | Komentářů: 3
    19.12. 03:11 | Komunita

    Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.

    Ladislav Hagara | Komentářů: 0
    19.12. 02:11 | Zajímavý článek

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    19.12. 02:00 | Nová verze

    OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.

    Ladislav Hagara | Komentářů: 0
    19.12. 01:00 | IT novinky

    Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.

    Ladislav Hagara | Komentářů: 6
    18.12. 14:44 | IT novinky

    Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.

    Ladislav Hagara | Komentářů: 7
    Kdo vám letos nadělí dárek?
     (26%)
     (3%)
     (10%)
     (3%)
     (3%)
     (3%)
     (13%)
     (26%)
     (15%)
    Celkem 39 hlasů
     Komentářů: 14, poslední dnes 19:13
    Rozcestník

    Dotaz: rt-preempt problem

    1.5.2010 11:18 hajoucha | skóre: 22
    rt-preempt problem
    Přečteno: 444×
    Ahojda, mám jednoduchý prográmek (čte z měřáku a vypisuje čas a data ve smyčce), který pouštím na stroji s rt-preempt patchem. Ovšem ať už pustím ten program

    takto:

    #> chrt -r 99 ./program

    nebo takhle:

    #> nice -20 ./program

    nebo normálně:

    #> ./program

    vždy se rozptyl času potřebného k vykonání smyčky pohybuje okolo 9.99+-0.04ms. Tj. jedna smyčka proběhne průměrně o 9.99ms jinak dlouho než nějaká jiná smyčka. Není mi jasné, proč ani chrt ani nice nemá na rozptyl vliv. Jádro je 2.6.31.6-rt19-1-amd64 #1 SMP PREEMPT RT .

    Máte tip, jak otestovat, zdali rt-preemt funguje a pakliže ano, proč nefunguje chrt?

    Odpovědi

    1.5.2010 11:32 hajoucha | skóre: 22
    Rozbalit Rozbalit vše Re: rt-preempt problem
    ještě doplním výsledek cyclitestu (test rt_preempt)
    
     ./cyclictest -t1 -p 80 -n -i 10000 -l 10000
    policy: fifo: loadavg: 0.02 0.17 0.10 1/158 17841          
    
    T: 0 (17147) P:80 I:10000 C:  10000 Min:      6 Act:    8 Avg:    8 Max:      31
    
    
    
    Bluebear avatar 1.5.2010 17:29 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: rt-preempt problem
    Yo chwapče, to je kurevsky odborná záležitost, s tím budeš možná muset na mailinglist realtime kernelu.

    Osobně bych se trochu obával, že přesnost, kterou požaduješ, je příliš velká a procesor, respektive celý hardware + OS, to prostě nedokáže načasovat lépe.

    Zkusil bych to na normálním (ne-RT) kernelu (s PREEMPT a bez PREEMPT) a podívat se, jaký to bude mít vliv.
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    Bluebear avatar 1.5.2010 17:55 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: rt-preempt problem
    Ještě mě napadlo: zkusil bych ta data psát nejdřív do bufferu, ne je přímo vypisovat. Možná, že tam překáží přístup na konzoli nebo disk.
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    stativ avatar 1.5.2010 18:54 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: rt-preempt problem
    Nejsem odborník, ale AFAIK rt jádro neříká nic o tom jaký má být rozptyl, ale mělo by jen zaručit, že každý požadavek bude vyřízen za určitou maximální dobu (nic nebude čekat na vyřízení déle než např. 20 ms).
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    5.5.2010 09:47 hajoucha | skóre: 22
    Rozbalit Rozbalit vše Re: rt-preempt problem
    no, když je jenom _rozptyl_ 10ms, tak těžko rt-jádro zaručí, že nebude požadavek čekat méně než 10ms. A to se mi zdá právě zatraceně málo.
    5.5.2010 09:54 Wentasah | skóre: 6 | Praha
    Rozbalit Rozbalit vše Re: rt-preempt problem
    Ted nevim presne jak funguje round-ribin, ale ja vzdycky pouzivam SCHED_FIFO, takze bych zkusis

    # chrt -f 99 ./program

    Pak si over, jestli tvuj program ma opravu RT prioritu prikazem:

    # ps aH --sort rtprio -o pid,policy,rtprio,state,tname,time,command
    5.5.2010 22:22 frr | skóre: 34
    Rozbalit Rozbalit vše Re: rt-preempt problem
    Čte z měřáku? Jakým protokolem? Není to náhodou ten měřák, který se občas zamyslí než odpoví? Například některé IO moduly s termočlánkovým vstupem (na bázi MCU) provádějí v pravidelných intervalech odměřování CJC...

    Ohledně hostitelského systému: není zatížený ještě nějakým dalším procesem, který si čas od času uloupne timeslice pro sebe? Jasně, ten nice by měl dát měřenému procesu prioritu...

    Obecně souhlasím s poznámkou, že měřený proces možná občas někde čeká na IO.

    Rozptylem myslíte střední čtvercovou chybu? Pokud tomu správně rozumím, tak nikoli. Prostě Vám ta smyčka v některých iteracích trvá záhadně přesně o 10 ms déle (asi těžko proběhne rychleji) - mám pravdu? Nějaká podrobnější statistika (rozdělení četností, histogram) by nebyla? Dokázal byste případně snímat časové značky na několika místech uvnitř smyčky a vyhodnocovat anomálie na této úrovni? Možná byste došel ke konkrétnímu syscallu, který se za určitých okolností zablokuje o něco déle...

    V souvislosti s projektem RTAI jsem svého času četl, že na některých PCčkách je problém s latencí message-signaled interruptů na PCI sběrnicích zatížených větším provozem (disk, VGA). Podobné "dilatace času" způsobuje SMI či některé klasické interrupty. V rámci SMI dělají moderní motherboardy kdeco, některé věci ale s oblibou provádějí třeba i v interruptu časovače. 10 ms je docela hodně, ale člověk nikdy neví... Nemáte v BIOSu zapnutou podporu emulace hardwarové PS2 klávesnice pomocí skutečné USB klávesnice? To byl tradiční troublemaker. Je fakt, že v Linuxu by kontrolu nad USB měl přebrat operační systém... Tady jsou nějaké zdrojáky pro DOS - program, kterým jsem se to svého času snažil testovat... http://www.fccps.cz/download/adv/frr/smi.zip

    O jaký počítač se jedná? (procesor a čipset) S jakou periodou Vám "tiká" linuxový plánovač procesů? (compile-time volba Hz, 100/250/1000, RT jádra mají tuším default 1000).
    [:wq]
    Bluebear avatar 5.5.2010 23:08 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: rt-preempt problem
    Podobné "dilatace času" způsobuje SMI

    Šmarjá, na tuhle "featuru" jsem skoro zapomněl... :-(

    (Pro ty šťastné, kteří o téhle hrůze nevědí: http://en.wikipedia.org/wiki/System_Management_Mode#Entering_SMM - pozor, je to k zblití)

    Tohle je nutné ověřit; asi bych zkusil něco jako vypisovat místo měření jenom čistý systémový čas, stroj ničím jiným nezatěžovat a sledovat, jak moc čas skáče. Pokud poskakuje moc, tak je zle a daný motherboard se prostě nehodí pro realtime operace. (Respektive, možná by šlo přeflashovat BIOS nějakým otevřeným firmwarem, ale hádám, že to skončí mrtvou deskou.)

    Když to nepůjde jinak, což zbastlit nějaký mezikus s Atmelem, PICem nebo tak (pokud bude stíhat, ale snad by mohl) a do PC-čka posílat už připravená data?
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    6.5.2010 09:14 frr | skóre: 34
    Rozbalit Rozbalit vše Re: rt-preempt problem
    Pro zájemce jsem ten svůj DOSový softík zkompiloval do EXE. Je to specifické pro čipsety "Intel + Winbond", umí to nejvýš ICH8 (pokud máte ICH9 nebo ICH10, dejte vědět). Potřebujete bootovačku DOSu (třeba FreeDOS) a tuším zapnutou podporu XMS (himem.sys nebo jemmex.exe).

    http://www.fccps.cz/download/adv/frr/smi_bin.zip

    "Metoda detekce" spočívá v tom, že softík v DOSu napřed vypne všechny zdroje SMI a IRQ, a pak je po jednom odblokovává, měří čas a hledá anomálie. Konkrétně ten softík spustí nějakou těsnou smyčku na CPU (jenom dekrementace registru a loop), která má pevný počet cyklů (např. 3000), předem odhadnutý/spočítaný tak, aby jedna dávka trvala 1 mikrosekundu. Těsně před a těsně po smyčce se provede navíc instrukce "rdtsc", která čte timestamp counter registr CPU (jeho takt je taky předem obenchmarkovaný). V algoritmu je natvrdo zadrátováno, že pokud je naměřené trvání nebržděné mikrosekundové dávky (dle TSC) minimálně o půlku delší, jedná se o anomálii. Tahle měřící sonda se provede párkrát po sobě, aby měla statistika nějakou významnost. Nakonec program nahlásí min/max/avg. A tohle zkouší postupně pro jednotlivé zdroje SMI a IRQ.

    Pokud je to skutečně SMI, tak jednotlivé zdroje SMI se dají z Linuxu softwarově zakázat a s trochou štěstí to nebude ničemu vadit. Obecně bych hned neskákal z mostu, ten problém si zaslouží pečlivější diagnózu... v Linuxu nedá moc práce přesně změřit čas uplynulý "od do". Nějaká lehká průběžná aritmetika/vyhodnocení v rámci běžícího procesu (včetně floating-point operací, ale bez potenciálně blokujících syscallů) je v klidu. Pokud si výsledky průběžně počítáte a ukládáte do paměti, ale za chodu detekční smyčky neděláte printf() a nejlíp ani malloc(), nemělo by docházet ke zkreslení Vašeho měření.

    Časové značky udávané linuxovým kernelem (například to co vrací funkce GetTimeOfDay) mají přesnost danou nikoli periodou plánovače, ale rozlišením nějakého hardwarového časovače, který si kernel při bootu zvolí jako nejpřesnější a "nejlevnější" (třeba HPET nebo TSC). Dalším limitem je granularita použitého datového typu, např. u gettimeofday() je to tuším 1 us (TSC i HPET mají hardwarově lepší přesnost). Čili časovým značkám se dá věřit.

    Ćemu se nedá 100% věřit jsou časovací/probouzecí funkce jako sleep() a spol., setitimer() nebo timer_create() nebo select(), které při "usnutí" odevzdají procesor plánovači - jejich přesnost se proto odvíjí od periody plánovače procesů a zátěže systému (nebo žerou 100% CPU, protože používají těsnou smyčku).

    Tolik jenom v kostce, nechci tady zabíhat do detailů...
    [:wq]
    Bluebear avatar 6.5.2010 14:52 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: rt-preempt problem
    Skvělá práce - tomu aspoň říkám těžká hackeřina (v dobrém slova smyslu)
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    6.5.2010 16:54 hajoucha | skóre: 22
    Rozbalit Rozbalit vše Re: rt-preempt problem
    pánové děkuji, děkuji. Studuji a pokusuji, výsledky a alespoň některé odpovědi dodám přes víkend.
    michich avatar 7.5.2010 10:41 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: rt-preempt problem
    K detekci SMI lze použít také utilitu hwlatdetect z balíčku rt-tests. Používá se k tomu jaderný modul hwlat.ko, který je součástí preempt-rt patche.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.