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í
×
    17.5. 13:44 | Nová verze

    Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    17.5. 12:22 | Komunita

    Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.

    Ladislav Hagara | Komentářů: 0
    17.5. 01:55 | Komunita

    24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.

    Ladislav Hagara | Komentářů: 9
    16.5. 23:33 | Nová verze

    Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    16.5. 21:11 | Nová verze

    Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    16.5. 20:55 | Nová verze

    Byla vydána nová verze 6.3 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.15.

    Ladislav Hagara | Komentářů: 0
    16.5. 13:33 | IT novinky

    Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].

    Ladislav Hagara | Komentářů: 9
    16.5. 13:22 | Nová verze

    JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    16.5. 12:22 | Pozvánky

    Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytváří všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 0
    16.5. 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

    Ladislav Hagara | Komentářů: 9
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (75%)
     (5%)
     (10%)
     (9%)
    Celkem 315 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Jaderné noviny – 25. 5. 2017: Přehodnocení „příliš malý, než aby selhal“

    15. 6. 2017 | Redakce | Jaderné noviny | 3842×

    Stav vydání jádra. Citát týdne: James Bottomley. Přehodnocení „příliš malý, než aby selhal“.

    Stav vydání jádra

    Současné vývojové jádro 4.12-rc2 bylo vydáno 21. května. Linus řekl: „Jsem zpět u obvyklého časového plánu s nedělním vydáním a všechno vypadá celkem normálně. Toto rc2 je možná o něco větší než obvykle, ale celé začleňovací okno bylo větší než bývá, takže to je možná tím. A není až tak velké.“

    Stabilní aktualizace: 4.11.2, 4.10.17, 4.9.29, 4.4.69 a 3.18.54 byly vydány 20. května.

    Velké aktualizace 4.11.3, 4.9.30, 4.4.70 a 3.18.55 byly v době psaní tohoto článku v procesu revidování, vydány byly 25. května.

    Citát týdne

    Kontejnery jsou mnohavrstvé a složité. Pokud na to jako uživatelé nejste připraveni, pak byste měli použít orchestrační systém, který zabrání, abyste něco pokazili.

    James Bottomley

    Přehodnocení „příliš malý, než aby selhal“

    V roce 2014 vyvolalo rozruch zjištění, že jaderný subsystém správy paměti neumožňuje relativně malým žádostem o alokaci selhat. Diskuze se od té doby uklidnila, ale pravidlo „příliš malý, než aby selhal“ stále vyvolává v jaderné komunitě jisté zmatky, jak dokládá nedávná diskuze inspirovaná začleňovacím oknem 4.12. Zdá by se, že pravidlo stále platí, ale vývojáři jsou žádáni, aby se chovali, jakoby tomu tak nebylo.

    Na začátku tehdejší diskuze popsal vývojář správy paměti Michal Hocko „nepsané pravidlo“, že malé alokace nikdy neselhávají. „Malost“ určuje jaderná konstanta PAGE_ALLOC_COSTLY_ORDER – obvykle nastavená na tři – práh na většině systémů je tím pádem osm stránek, resp. 32 kB. Téměř všechny alokace paměti v jádře jsou menší (byla vynaloženo nemalé úsilí udržet je do velikosti jedné stránky), takže v důsledku pokusy o alokaci paměti téměř nikdy neselhávají.

    To způsobilo nespokojenost hned z několika důvodů. Jedním z nich je, že jaderným vývojářům je od začátku tlačeno, že každá alokace paměti může selhat, takže místa, kde mohlo dojít k selhání, pečlivě ošetřovali, ačkoliv se tento kód nikdy nepoužije. Toto pravidlo může také způsobit, že jádro bude dělat nepříjemné věci – jako například vyvolání obávaného out-of-memory zabijáka – místo toho, aby došlo k selhání požadavku, a to i v případě, kdy je žádající kód připraven se se selháním alokace důstojně vypořádat. Návrhy na změnu tohoto pravidla vždy ztroskotaly z obavy, že povolení selhání alokací by odhalilo chyby napříč jádrem. Většina kódu řešícího selhání dost možná dosud nikdy nebyla vykonána – nebo nemusí vůbec existovat. Takže chování „příliš malý, než aby selhal“ zatím zůstává.

    Žádost o začlenění oprav NFS klientu Tronda Myklebusta obsahuje řádek: „Vyčištění a odstranění některých ošetření selhání paměti, když GFP_NOFS teď zaručuje, že nikdy neselže.“ Ten popis byl nepřesný: daný kód používá mempool, který alokuje paměť předem a pokud se používá správně, může skutečně zaručit, že k selhání alokace nedojde. Ale to stačilo, aby se Nikolaj Borisov zeptal, zda to skutečně zaručí úspěch alokace. Pokud ano, bylo by možné z jádra odstranit mnoho nepotřebného kódu ošetřujícího chyby. Hocko odpověděl, že zatímco „malé alokace _v praxi_ nikdy neselžou,“ toto chování není ničím zaručeno a odstranění ošetření selhání alokace je „prostě špatně“.

    Myklebust nebyl s touto odpovědí zcela spokojen, požádal o jasné prohlášení, že malé alokace mohou selhat. Toho se mu nedostalo. Místo toho Hocko odpověděl:

    Byli bychom raději, kdyby tyto požadavky opravdu selhaly. Snažil jsem se o to v minulosti, ale bylo to považováno za příliš nebezpečné, protože by kvůli chování při selhání musely být zkontrolovány _všechny_ případy v jádře. Takže radši udržujeme status quo.

    Status quo – informovat vývojáře, aby byli připraveni na selhání alokací, aniž by k selhání požadavků o alokací skutečně docházelo – je pro všechny, kdo se této diskuze účastní, dosti nepříjemný. V mnoha částech jádra představuje ošetřování chyb velký podíl objemu kódu. Kód může být složité napsat a ještě složitější otestovat. Bývá frustrující být požádán připravit se na situaci, která nikdy nestane.

    Vývojáři správy paměti ale toto chování nemohou jen tak změnit. Není pochyb, že v jádře s tisíci nikdy neprovedených, nikdy netestovaných kusů kódu ošetřujícího chyby, budou některé z nich obsahovat chyby. Audit jádra a ověření všech těchto míst by nebylo malým úkolem, mírně řečeno. Možná to není vůbec proveditelné. Co se dělat, je ověřovat a opravovat kód kousek po kousku. Takto byl v roce 2011 konečně odstraněn velký jaderný zámek (big kernel lock, BKL). Tato práce pokračovala tím, že byly postupně odstraňovány závislosti na BKL z malých částí kódu, až ho nakonec nic nepotřebovalo. Trvalo to mnoho let, ale podařilo se.

    V případě selhání alokace paměti nebude ověření kódu vždy snadné. Framework pro zavádění chyb se ale dá použít k vynucení alokačních chyb, což může pomoci při testování ošetření kódu. U kódu, který se považuje za správně připravený, lze chování „nikdy neselže“ vypnout v libovolné podané žádosti o alokaci jednoduše přidělením příznaku __GFP_NORETRY, což bylo provedeno ve zhruba stovce alokačních volání v jádře 4.12-rc1. Zda se tento příznak rozšíří do větší části jádra, zůstává otázkou. Stejně jako při procesu odstraňování BKL bude pravděpodobně zapotřebí pomoci skupiny vývojářů ochotné úkolu věnovat hodně času.

    Jaderná komunita provádí změny vnitřního API pravidelně. Většinou se jedná o prosté editování kódu nebo použití skriptů Coccinelle. Ale jemné sémantické změny jsou náročnější a vyloučení chování „příliš malý, než aby selhal“ se za takovou změnu jistě považuje. Čím déle v jádře zůstane, tím více kód pravděpodobně zakoření, ale neexistují žádné náznaky, že by se to brzy mohlo změnit.

           

    Hodnocení: 86 %

            š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ář

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