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 15:22 | IT novinky

    Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 15:11 | Zajímavý projekt

    Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.

    Ladislav Hagara | Komentářů: 3
    dnes 04:44 | Zajímavý software

    Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.

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

    KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.

    Ladislav Hagara | Komentářů: 7
    včera 04:44 | Zajímavý článek

    Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).

    Ladislav Hagara | Komentářů: 2
    včera 00:33 | Nová verze

    Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Zajímavý software

    Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.

    Ladislav Hagara | Komentářů: 7
    19.3. 19:22 | Nová verze

    GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.

    Ladislav Hagara | Komentářů: 0
    19.3. 04:00 | Bezpečnostní upozornění

    Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1124 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Dotaz: rt-preempt problem

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