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 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    včera 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 16
    7.5. 03:55 | Komunita

    sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.

    Ladislav Hagara | Komentářů: 0
    6.5. 22:11 | Nasazení Linuxu

    Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 2
    6.5. 13:22 | IT novinky

    Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.

    Ladislav Hagara | Komentářů: 1
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (3%)
     (1%)
     (1%)
     (3%)
    Celkem 557 hlasů
     Komentářů: 26, poslední včera 09:58
    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 | 2999×

    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.