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

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 12
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    29.5. 21:11 | IT novinky

    Společnost Framework Computer představila novou vylepšenou verzi svého modulárního notebooku Framework Laptop 13 s Intel Core Ultra Series 1, displej s lepším rozlišením a novou webovou kameru. Přímo do Česka jej zatím koupit nelze.

    Ladislav Hagara | Komentářů: 0
    29.5. 15:44 | Nová verze

    Byla vydána nová verze 2.16 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ářů: 2
    28.5. 21:22 | Zajímavý software

    TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 48
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (90%)
     (3%)
     (4%)
     (4%)
    Celkem 1028 hlasů
     Komentářů: 17, poslední dnes 15:31
    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 | 2983×

    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: 5
    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.