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 17:55 | IT novinky

    Paramount nabízí za celý Warner Bros. Discovery 30 USD na akcii, tj. celkově o 18 miliard USD více než nabízí Netflix. V hotovosti.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Nájemný botnet Aisuru prolomil další "rekord". DDoS útok na Cloudflare dosáhl 29,7 Tbps. Aisuru je tvořený až čtyřmi miliony kompromitovaných zařízení.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Nová verze

    Iced, tj. multiplatformní GUI knihovna pro Rust, byla vydána ve verzi 0.14.0.

    Ladislav Hagara | Komentářů: 2
    dnes 05:22 | Komunita

    FEX, tj. open source emulátor umožňující spouštět aplikace pro x86 a x86_64 na architektuře ARM64, byl vydán ve verzi 2512. Před pár dny FEX oslavil sedmé narozeniny. Hlavní vývojář FEXu Ryan Houdek v oznámení poděkoval společnosti Valve za podporu. Pierre-Loup Griffais z Valve, jeden z architektů stojících za SteamOS a Steam Deckem, v rozhovoru pro The Verge potvrdil, že FEX je od svého vzniku sponzorován společností Valve.

    Ladislav Hagara | Komentářů: 0
    dnes 03:22 | Nová verze

    Byla vydána nová verze 2.24 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | IT novinky

    Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.

    Ladislav Hagara | Komentářů: 3
    6.12. 15:55 | Komunita

    O víkendu (15:00 až 23:00) probíha EmacsConf 2025, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy budou k dispozici přímo z programu.

    Ladislav Hagara | Komentářů: 0
    6.12. 15:44 | Komunita

    Provozovatel internetové encyklopedie Wikipedia jedná s velkými technologickými firmami o uzavření dohod podobných té, kterou má s Googlem. Snaží se tak zpeněžit rostoucí závislost firem zabývajících se umělou inteligencí (AI) na svém obsahu. Firmy využívají volně dostupná data z Wikipedie k trénování jazykových modelů, což zvyšuje náklady, které musí nezisková organizace provozující Wikipedii sama nést. Automatické programy

    … více »
    Ladislav Hagara | Komentářů: 28
    6.12. 15:22 | IT novinky

    Evropská komise obvinila síť 𝕏 z porušení unijních pravidel, konkrétně nařízení Evropské unie o digitálních službách (DSA). Vyměřila jí za to pokutu 120 milionů eur (2,9 miliardy Kč). Pokuta je podle názoru amerického ministra zahraničí útokem zahraničních vlád na americký lid. K pokutě se vyjádřil i americký viceprezident: „EU by měla podporovat svobodu projevu, a ne útočit na americké společnosti kvůli nesmyslům“.

    Ladislav Hagara | Komentářů: 26
    5.12. 17:11 | IT novinky

    Společnost Jolla spustila kampaň na podporu svého nového telefonu Jolla Phone se Sailfish OS. Dodání je plánováno na první polovinu příštího roku. Pokud bude alespoň 2 000 zájemců. Záloha na telefon je 99 €. Cena telefonu v rámci kampaně je 499 €.

    Ladislav Hagara | Komentářů: 30
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (48%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (16%)
     (18%)
    Celkem 442 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Jaderné noviny – 7. 2. 2013: Lockdep jako užitečná knihovna pro uživatelský prostor

    26. 2. 2013 | Luboš Doležel | Jaderné noviny | 3013×

    Aktuální verze jádra: 3.8-rc6. Kód pro RAID 5/6 začleněn do Btrfs. Lockdep pro uživatelský prostor.

    Obsah

    Aktuální verze jádra: 3.8-rc6

    link

    Aktuální vývojová verze jádra je 3.8-rc6 vydaná 1. února. Mám takový MazanýPlán(tm), jak zařídit, aby rc7 bylo lepší a menší. Plán závisí především na mé nedostupnosti v průběhu příštího týdne, protože pod vodou není Internet. Jakmile se Linus vrátí z potápění, tak má v plánu být velmi agresivní co se týče přijímání pouze těch patchů, které opravují velké bezpečnostní problémy, velké regrese nahlášené uživateli nebo závažné průšvihy Kódový název vydání se změnil; nyní je to „Gorila na unicyklu“.

    Stabilní aktualizace: verze 3.0.62, 3.4.29 a 3.7.6 vyšly 3. února; verze 3.2.38 vyšla 6. února.

    Abych parafrázoval Vetřelce: "Pod vodou si vaše maily nikdo nepřečte"

    -- Linus Torvalds

    Dnešní strom s linuxovým jádrem obsahuje něco kolem 100.000 výskytů klíčového slova „goto“. Nejzanořenější použití goto jsem našel tady, hloubka je 12. Tato funkce je bohužel ohavná. Tady je mnohem čistší ukázka s hloubkou 10.

    Zde je přehled cílů goto, které se vyskytují více než 200krát:

    out (23228krát)
    error (4240krát)
    err (4184krát)
    fail (3250krát)
    done (3179krát)
    exit (1825krát)
    bail (1539krát)
    out_unlock (1219krát)
    err_out (1165krát)
    out_free (1053krát)

    -- John Regehr

    diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
    --- a/Documentation/SubmittingPatches
    +++ b/Documentation/SubmittingPatches
    @@ -93,7 +93,9 @@ includes updates for subsystem X.  Please apply."
     
     The maintainer will thank you if you write your patch description in a
     form which can be easily pulled into Linux's source code management
    -system, git, as a "commit log".  See #15, below.
    +system, git, as a "commit log".  See #15, below.  If the maintainer has
    +to hand-edit your patch, you owe them the beverage of their choice the
    +next time you see them.
    

    (Pokud musí správce ručně upravovat váš patch, dlužíte mu při vašem příštím setkání napój dle jeho výběru.)

    -- Greg Kroah-Hartman

    „nápoj“.

    Prosil bych plzeň.

    -- Andrew Morton

    Kód pro RAID 5/6 začleněn do Btrfs

    link

    Kód implementující RAID 5 a 6 byl konečně zařazen do experimentální větve v repozitáři Btrfs; jde o důležitý krok na cestě do hlavní řady jádra. První výsledky benchmarků vypadají dobře, ale před označením kódu jako stabilní zbývá vyřešit několik problémů. Zde najdete oznámení, údaje z benchmarku a informace na téma, jak funguje RAID vyšší úrovně v Btrfs. Dost to zní jako MD raid a je to tím, že to je MD raid. Díky implementaci raidu uvnitř Btrfs můžeme používat odlišné úrovně raidu pro metadata a data a můžeme vynutit přepočítání parit, pokud nesouhlasí crc. Taktéž správa operací jako restriping a přidání/odstranění disků může být napojena na transakce v systému souborů. V dlouhodobém horizontu budeme moci přeskakovat čtení bloků, které nejsou alokované, a dělat další vazby mezi raid56 a metadaty systému souborů.

    Lockdep pro uživatelský prostor

    link

    Jaderný ověřovač zámků (locking validator; známý také jako „lockdep“) je jeden z nějužitečnějších proaktivních nástrojů pro ladění, co komunita má. Od svého uvedení v roce 2006 odstranil většinu chyb, co v systému mohou způsobit deadlocky. Protože deadlocky je extrémně obtížné zopakovat a diagnostikovat, výsledkem je díky němu mnohem spolehlivější jádro a šťastnější uživatelé. Při vývoji pro uživatelský prostor je o stejné nástroje nouze, a to navzdory tomu, že i tam může docházet k deadlockům. Ale už je to tak, že zpřístupnění lockdepu pro uživatelský prostor je nakonec mnohem snažší, než by kdo byl řekl.

    Lockdep funguje tak, že obaluje volání zámků v jádře. Kdykoliv je určitý typ zámku uzamčen nebo uvolněn, tato skutečnost je zaznamenána spolu s dalšími údaji jako jestli zrovna procesor obsluhoval přerušení. Lockdep si také zaznamenává, které jiné zámky byly v této době uzamčeny; toto je klíčem k většině ověřování, které lockdep dokáže provádět.

    Abychom si toto ukázali názorně, představme si dvě vlákna, kde obě chtějí uzamknout dva zámky nazvané A a B.

    lockdep

    Pokud jedno vlákno nejprve uzamkne A, zatímco to druhé uzamkne B, tak může situace vypadat následovně:

    lockdep

    Pokud se teď obě vlákna pokusí uzamknout druhý zámek, systém se dostane do potíží:

    lockdep

    Obě vlákna nyní budou navždy čekat na to, než to druhé z nich odemkne zámek, který drží; systém je nyní ve stavu zvaném deadlock. K tomuto nemusí nikdy dojít; aby se stal podobný deadlock, obě vlákna by musela získat zámek v nevhodný okamžik. Ale jak to na počítačích bývá, i nepravděpodobné věci se dříve či později přihodí, nejčastěji když se to zrovna nejméně hodí.

    Této situaci je možné se vyvarovat: pokud obě vlákna budou dodržovat pravidlo, že A musí být vždy zamykáno dříve než B, pak tento konkrétní deadlock (ze zjevných důvodů zvaný „AB-BA“) nemůže nastat. Jenže máme-li systém s velkým množstvím zámků, pak není vždy jasné, jaké pravidla pro uzamykání tu jsou, natož jestli jsou konzistentně dodržována. Chybovat je snadné. Právě zde lockdep přijde vhod: díky tomu, že sleduje pořadí získávání zámků, dokáže upozornit kdykoliv zpozoruje, že vlákno uzamklo A, zatímco už vlastní B. K získání hlášení od lockdepu není nutné způsobit deadlock, což znamená, že i ty nejnepravděpodobnější situace vedoucí k deadlocku mohou být odhaleny dříve, než nastanou. Není vůbec potřeba čekat přesně na konkrétní situaci, kdy se věci pokazí, na to, aby člověk viděl, že je někde problém.

    Lockdep dokáže odhalit komplikovanější situace, než jakou jsme si popsali. Dokáže také odhalit související problémy jako zámky, které není bezpečné používat v obsluze přerušení, a přitom se tam používají. Jak asi očekáváte, běh jádra se zapnutým lockdepem znatelně zpomaluje běh; není to tedy volba, kterou byste aktivovali na produkčním systému. Naštěstí je tu ale dostatek vývojářů, kteří mají lockdep zapnutý, takže většina problémů je odhalena dříve, než se dostanou do stabilního vydání jádra. Díky tomu jsou v dnešní době deadlocky na produkčních systémech vcelku výjimečné.

    Přesunout jaderné nástroje do uživatelského prostoru není vždy jen tak; jaderné prostředí se znatelně liší od běžného prostředí C, takže jaderný kód je obvykle možné spustit jen v jádře samotném. V tomto případě ale Sasha Levin vypozoroval, že na subsystému lockdep není moc věcí doopravdy specifických pro jádro. Lockdep shromažďuje data a sestavuje grafy popisující vypozorované vzorce získávání zámků; jde o kód, který by mimo jádro mohl běžet vcelku snadno. Proto Sasha sestavil patch, kterým vzniká knihovna lockdep dostupná pro programy v uživatelském prostoru.

    Lockdep samozřejmě volá spoustu funkcí jádra, proto je součástí Sashova patche dlouhý seznam prázdných implementací pro funkce jako local_irq_enable(), které v uživatelském prostoru nemají význam. Pro sledování vláken v uživatelském prostoru se používá zkrácená verze struct task_struct a funkce jako print_stack_trace() jsou nahrazeny obdobami z uživatelského prostoru (v tomto případě to je backtrace_symbols_fd()). Interní jaderné zámky (používané v lockdebp) jsou reimplementovány pomocí POSIXových mutexů pthread. Pahýly hlavičkových souborů používané v lockdepu se nacházejí ve zvláštním adresáři. A tak dále. A jakmile je všechno toto hotovo, tak je možné kód lockdepu sestavit přímo mimo strom jádra a vyrobit z něj knihovnu.

    Kód z uživatelského prostoru, který chce využít knihovny lockdep, musí nejprve učinit #include <liblockdep/mutex.h>, který mimo jiné přidává skupinu wrapperů kolem typů pthread_mutex_t a pthread_rwlock_t a funkcí, pomocí nichž se s nimi pracuje. Je nutné zavolat liblockdep_init(); každé vlákno by navíc mělo zavolat liblockdep_set_thread() pro inicializaci údajů pro hlášení problémů. To je asi tak vše, co je potřeba; takový program bude mít používání mutexů a r/w zámků sledované lockdepem.

    Jako důkaz patch také přidává podporu pro liblockdep do nástroje perf, který se nachází ve stromě jádra.

    Jednou z klíčových vlastností Sashova patche je to, že nevyžaduje žádné úpravy v jaderném kódu lockdepu. Knihovnu pro uživatelský prostor je možně sestavit přímo z kódu z jádra. Mimo jiné to znamená, že všechny budoucí opravy a vylepšení budou bezpracně dostupné i v uživatelském prostoru.

    Dalo by se to shrnout tak, že tento patch vypadá jako významně prospěšný pro všechny zúčastněné strany; proto nepřekvapí, že se proti patchi ani nezformoval žádný odpor. Objevila se žádost o lepší dokumentaci, explicitní zmínku, že kód je pod GPL, a přepínač aktivující liblockdep až za běhu (aby knihovna mohla být vestavěna do aplikací, ale nemusela by se používat, dokud by to nebylo nutné). Tyto drobnosti by ale nemělo být těžké doplnit. S trochou štěstí bude mít uživatelský prostor v blízké budoucnosti přístup k lockdep, což povede ke spolehlivějšímu používání zámků.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    26.2.2013 11:30 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Jaderné noviny – 7. 2. 2013: Lockdep jako užitečná knihovna pro uživatelský prostor
    ten lockdep vypada hodne zajimave
    26.2.2013 14:05 Sten
    Rozbalit Rozbalit vše Re: Jaderné noviny – 7. 2. 2013: Lockdep jako užitečná knihovna pro uživatelský prostor
    Hmm, zpočátku jsem chtěl poukázat, že v angličtině Andrew opravoval Gregovi gramatiku. Až potom jsem si všiml, že je tu v překladu napsáno „napój“ :-)
    David Šmíd avatar 26.2.2013 15:42 David Šmíd | skóre: 10 | blog: dsmid
    Rozbalit Rozbalit vše Re: Jaderné noviny – 7. 2. 2013: Lockdep jako užitečná knihovna pro uživatelský prostor
    Pilsener = ležák, nemusí to být přímo plzeň, stejně jako hamburger nemusí být z Hamburku a frankfurter nemusí být z Frankfurtu.

     


    Jediné "intuitivní" rozhraní je bradavka. Všechno ostatní se musíte naučit. -- Bruce Ediger, o uživatelském rozhraní
    26.2.2013 15:43 luky
    Rozbalit Rozbalit vše Re: Jaderné noviny – 7. 2. 2013: Lockdep jako užitečná knihovna pro uživatelský prostor
    Pilsener = plzen, Pilsner Urquel = Plzen
    26.2.2013 19:47 Sten
    Rozbalit Rozbalit vše Re: Jaderné noviny – 7. 2. 2013: Lockdep jako užitečná knihovna pro uživatelský prostor
    Pilsner je pivo plzeňského typu. U nás pro pilsner nemáme speciální slovo, říkáme tomu prostě pivo, protože téměř všechna piva u nás jsou pilsnery.
    27.2.2013 09:27 aesrwerqwr
    Rozbalit Rozbalit vše Re: Jaderné noviny – 7. 2. 2013: Lockdep jako užitečná knihovna pro uživatelský prostor
    sedi v hospode ostravak, brnak a plzenak. ostravak si objedna ostravar, brnak si objedna starobrno a plzenak si objedna kofolu. ostravak a brnak se na nej divne koukaji a plzenak odveti "kdyz vy nepijete pivo, tak ja taky ne!"
    28.2.2013 12:24 Rovano | skóre: 8
    Rozbalit Rozbalit vše Re: Jaderné noviny – 7. 2. 2013: Lockdep jako užitečná knihovna pro uživatelský prostor
    Plzeň co se distribuuje u nás, už většinou není co bejvala. Jsou daleko lepší pivovary. A taky záleží, zda je to pasterovaný, kdo to čepuje atd. Ale jo. Kdo je patriot nebo nenáročný, tomu Plzeň stačí.
    (╯°□°)╯︵ ┻━┻ enough of this! ♫♫♫ԅ(ˆ⌣ˆԅ)♫♫♫
    Luboš Doležel (Doli) avatar 26.2.2013 20:55 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jaderné noviny – 7. 2. 2013: Lockdep jako užitečná knihovna pro uživatelský prostor
    Tvůj popis přesně ukazuje, proč jsem to použil správně. "plzeň" taky nemusí být z Plzně ;-) Slovník se mnou souhlasí.

    BTW: nesnáším plzeň
    27.2.2013 12:03 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Jaderné noviny – 7. 2. 2013: Lockdep jako užitečná knihovna pro uživatelský prostor
    s/výt/být/;

    Jinak pěkný díl ;-)
    Luboš Doležel (Doli) avatar 27.2.2013 12:24 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jaderné noviny – 7. 2. 2013: Lockdep jako užitečná knihovna pro uživatelský prostor
    Dík.

    Založit nové vláknoNahoru

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