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 16:11 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 4. a 5. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu.

Ladislav Hagara | Komentářů: 0
včera 14:11 | Komunita

Některým uživatelům Firefoxu se tento týden do Firefoxu nainstalovalo neznámé rozšíření Looking Glass 1.0.3 (png). Ve fórů Mozilly se řešilo, zda se nejedná o malware. Mozilla později informovala, že se jednalo o reklamu na seriál Mr. Robot. Řadě uživatelů Firefoxu se jednání Mozilly vůbec nelíbilo. Mozilla proto automatickou instalaci doplňku ukončila [Hacker News, reddit].

Ladislav Hagara | Komentářů: 17
16.12. 12:00 | Nová verze

Po cca 3 týdnech od vydání Linux Mintu 18.3 s kódovým jménem Sylvia a prostředími MATE a Cinnamon byla oznámena také vydání s prostředími KDE a Xfce. Podrobnosti v poznámkách k vydání (KDE, Xfce) a v přehledech novinek s náhledy (KDE, Xfce). Linux Mint 18.3 je podporován do roku 2021.

Ladislav Hagara | Komentářů: 6
15.12. 12:55 | Nová verze

Byla vydána verze 17.12.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace, které nebyly dosud portovány na KDE Frameworks 5, byly z KDE Aplikací odstraněny.

Ladislav Hagara | Komentářů: 56
15.12. 03:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Company of Heroes 2 (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
15.12. 02:00 | Zajímavý software

Christian Kellner představil na svém blogu projekt Bolt řešící bezpečnost rozhraní Thunderbolt 3 na Linuxu. Pomocí příkazu boltctl nebo rozšíření GNOME Shellu lze komunikovat s démonem boltd a například zakázat neznámá zařízení a předejít tak útokům typu Thunderstrike nebo DMA.

Ladislav Hagara | Komentářů: 10
15.12. 01:00 | Nová verze

Po půl roce vývoje od vydání verze 11.0 byla vydána verze 11.1 svobodného softwaru pro vytváření datových úložišť na síti FreeNAS (Wikipedie). Nejnovější FreeNAS je postaven na FreeBSD 11.1. Přehled novinek v příspěvku na blogu. Zdůraznit lze zvýšení výkonu OpenZFS, počáteční podporu Dockeru nebo synchronizaci s cloudovými službami Amazon S3 (Simple Storage Services), Backblaze B2 Cloud, Google Cloud a Microsoft Azure

Ladislav Hagara | Komentářů: 0
14.12. 23:55 | Nová verze

Po dvou měsících vývoje od vydání verze 235 oznámil Lennart Poettering vydání verze 236 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 10
14.12. 20:00 | Nová verze Ladislav Hagara | Komentářů: 0
14.12. 19:33 | Pozvánky

Pražská Fedora 27 Release Party, oslava nedávného vydání Fedory 27, se uskuteční 19. prosince od 19:00 v prostorách společnosti Etnetera (Jankovcova 1037/49). Na programu budou přednášky o novinkách, diskuse, neřízený networking atd.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (0%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 1015 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

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

    15.6. | Redakce | Jaderné noviny | 3586×

    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.