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í
×
    včera 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 0
    včera 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 2
    18.6. 13:33 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.6. Přehled novinek s náhledy v oznámení na blogu.

    Ladislav Hagara | Komentářů: 0
    18.6. 12:44 | IT novinky

    V Edici CZ.NIC, knižní řady správce české národní domény, vychází nová kniha Martina Malého Kódy, buildy, firmwary. Autor po půl roce od vydání předchozího titulu přichází se svou již sedmou knihou, tentokrát zaměřenou na vývoj programového vybavení pro embedded zařízení. Publikace s podtitulem Základy vývojářského řemesla pro tvůrce hobby elektroniky nabízí praktického průvodce pro všechny, kdo své projekty vytvořené s Arduinem

    … více »
    Ladislav Hagara | Komentářů: 0
    18.6. 11:44 | Komunita

    V Brně na FIT VUT probíhá dvoudenní open source komunitní konference DevConf.CZ 2026. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.

    Ladislav Hagara | Komentářů: 0
    18.6. 04:22 | Nová verze

    Byla vydána nová verze 15.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    17.6. 19:11 | Zajímavý projekt

    Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.

    Ladislav Hagara | Komentářů: 6
    17.6. 18:33 | Zajímavý software

    Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    17.6. 15:33 | IT novinky

    Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.

    Ladislav Hagara | Komentářů: 0
    17.6. 12:22 | IT novinky

    Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.

    Ladislav Hagara | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1941 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: rt-preempt problem

    1.5.2010 11:18 hajoucha | skóre: 22
    rt-preempt problem
    Přečteno: 456×
    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.