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 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 21
17.2. 15:30 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že bezpečnostní experti objevili nový typ malwaru, jenž cílí na open source e-commerce platformu Magento. Malware je zajímavý tím, že se jedná o první svého druhu, jehož kód zůstává skrytý v SQL databázi zasaženého e-shopu. Škodlivý kód je volán pomocí tzv. SQL trigerru, který je spouštěn při každém vytvoření objednávky v systému.

Ladislav Hagara | Komentářů: 0
17.2. 09:00 | Nová verze

Bylo vydáno Ubuntu 16.04.2 LTS, tj. druhé opravné vydání Ubuntu 16.04 LTS s kódovým názvem Xenial Xerus. Přehled novinek v poznámkách k vydání a v přehledu změn.

Ladislav Hagara | Komentářů: 37
17.2. 06:00 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje tvorbě pluginů (modulů) pro bitmapový grafický editor GIMP. Pomocí pluginů lze GIMP rozšiřovat o další funkce. Implementovat lze například nové filtry nebo pomocné utility pro tvorbu animací či poloautomatickou retuš snímků.

Ladislav Hagara | Komentářů: 6
16.2. 23:32 | Komunita

Do 30. března se lze přihlásit do dalšího kola programu Outreachy, jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 30. května do 30. srpna 2017, v participujících organizacích lze vydělat 5 500 USD. Jedná se již o 14. kolo tohoto programu.

Ladislav Hagara | Komentářů: 11
16.2. 23:13 | Nová verze

Byla vydána verze 0.92.1 svobodného multiplatformního vektorového grafického editoru Inkscape. Přehled novinek v poznámkách k vydání. Řešen je mimo jiné problém s verzí 0.92, jež rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Více v příspěvku na blogu Davida Revoye, autora open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu.

Ladislav Hagara | Komentářů: 0
16.2. 16:26 | Bezpečnostní upozornění

Byla vydána verze 1.1.0e kryptografické knihovny OpenSSL. Dle bezpečnostního upozornění 20170216 byla opravena závažná bezpečnostní chyba CVE-2017-3733.

Ladislav Hagara | Komentářů: 1
16.2. 13:03 | Pozvánky

GNOME hackaton proběhne v Brně na FIT VUT v Red Hat Labu (budova Q) v pondělí 20. února od 15:00. Registrace není nutná, ale pokud dáte na FaceBooku vědět, že plánujete dorazit, pomůže to s plánováním.

Ladislav Hagara | Komentářů: 0
16.2. 13:02 | Pozvánky

Únorový Prague Containers Meetup se koná 21. února v budově MSD. Můžete se těšit na přednášky o tom, proč a jak používat kontejnery a zároveň získat zajímavý pohled na historii a budoucnost kontejnerů.

little-drunk-jesus | Komentářů: 0
16.2. 08:55 | Zajímavý software

Google na svém blogu věnovaném vývojářům oznámil vydání verze 1.0 open source knihovny pro strojové učení TensorFlow (Wikipedie). Přehled novinek v poznámkách k vydání na GitHubu. Zdrojové kódy TensorFlow jsou k dispozici pod licencí Apache 2.0.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 656 hlasů
 Komentářů: 52, poslední 13.2. 12:45
Rozcestník
Reklama

Dotaz: rt-preempt problem

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