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 07:22 | Komunita

Od 26. do 29. října proběhla v Bochumi European Coreboot Conference 2017 (ECC'17). Na programu této konference vývojářů a uživatelů corebootu, tj. svobodné náhrady proprietárních BIOSů, byla řada zajímavých přednášek. Jejich videozáznamy jsou postupně uvolňovány na YouTube.

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

Ondřej Filip, výkonný ředitel sdružení CZ.NIC, oznámil vydání verze 2.0.0 open source routovacího démona BIRD (Wikipedie). Přehled novinek v diskusním listu a v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
včera 09:22 | Pozvánky

V Praze dnes probíhá Konference e-infrastruktury CESNET. Na programu je řada zajímavých přednášek. Sledovat je lze i online na stránce konference.

Ladislav Hagara | Komentářů: 1
9.12. 20:11 | Nová verze

Byl vydán Debian 9.3, tj. třetí opravná verze Debianu 9 s kódovým názvem Stretch a Debian 8.10, tj. desátá opravná verze Debianu 8 s kódovým názvem Jessie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 9 a Debianu 8 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 0
9.12. 00:44 | Nová verze

Po 6 měsících vývoje od vydání verze 0.13.0 byla vydána verze 0.14.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 88 vývojářů. Přibylo 1 211 nových balíčků. Jejich aktuální počet je 6 668. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 4
8.12. 21:33 | Nová verze

Po půl roce vývoje od vydání verze 5.9 byla vydána nová stabilní verze 5.10 toolkitu Qt. Přehled novinek na wiki stránce. Současně byla vydána nová verze 4.5.0 integrovaného vývojového prostředí (IDE) Qt Creator nebo verze 1.10 nástroje pro překlad a sestavení programů ze zdrojových kódů Qbs.

Ladislav Hagara | Komentářů: 0
7.12. 11:11 | Komunita

Naprostá většina příjmů Mozilly pochází od výchozích webových vyhledávačů ve Firefoxu. Do konce listopadu 2014 měla Mozilla globální smlouvu se společností Google. Následně bylo místo jedné globální smlouvy uzavřeno několik smluv s konkrétními vyhledávači pro jednotlivé země. V USA byla podepsána pětiletá smlouva s vyhledávačem Yahoo. Dle příspěvku na blogu Mozilly podala společnost Yahoo na Mozillu žalobu ohledně porušení této

… více »
Ladislav Hagara | Komentářů: 0
7.12. 05:55 | Zajímavý článek

V Londýně probíhá konference věnovaná počítačové bezpečnosti Black Hat Europe 2017. Průběžně jsou zveřejňovány prezentace. Videozáznamy budou na YouTube zveřejněny o několik měsíců. Zveřejněna byla například prezentace (pdf) k přednášce "Jak se nabourat do vypnutého počítače, a nebo jak v Intel Management Engine spustit vlastní nepodepsaný kód". Dle oznámení na Twitteru, aktualizace vydaná společností Intel nevylučuje možnost útoku.

Ladislav Hagara | Komentářů: 5
7.12. 04:44 | Komunita

Virtualizační nástroj GNOME Boxy ve Fedoře 27 umožňuje jednoduše stáhnout a nainstalovat Red Hat Enterprise Linux, který je pro vývojáře zdarma. Vývojová verze GNOME Boxy již umožňuje jednoduše stáhnout a nainstalovat další linuxové distribuce. Ukázka na YouTube. Seznam distribucí a jejich verze, nastavení a cesty k ISO obrazům je udržován v knihovně a databázi libosinfo (GitLab).

Ladislav Hagara | Komentářů: 0
7.12. 03:33 | Nová verze

Google Chrome 63 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 63.0.3239.84 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře. Opraveno bylo 37 bezpečnostních chyb.

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

    Jaderné noviny – 24. 12. 2014: Dokončení začleňovacího okna verze 3.19

    9. 3. 2015 | Tadeáš Pelech | Jaderné noviny | 3591×

    Stav vydání jádra. Živé opravy jádra chystané do verze 3.20. Pravidlo alokace paměti „příliš malé na selhání“.

    Obsah

    Stav vydání jádra

    link

    Aktuální vývojové jádro je 3.19-rc1, vydané dne 20. prosince – o jeden den dříve, než se dalo očekávat.

    Stabilní aktualizace: minulý týden nebyly vydány žádné stabilní aktualizace.

    Živé opravy jádra chystané do verze 3.20

    link

    Uživatelé citliví na vypínání systému se už dlouho zajímají o možnost používání oprav do běžícího jádra bez nutnosti restartovat systém. K dispozici je několik řešení této funkce mimo hlavní strom; bylo jasné, že se do hlavního stromu nedostanou všechna. Podle nedávného požadavku od Jiřího Kosiny, aby byl strom oprav v reálném čase přidán do stromu linux-next, se zdá, že na této frontě došlo k jistému pokroku. Spolupracují zejména vývojáři kpatch a kGraft.

    Základní funkcionalita (která je samostatná) nyní funguje a byla zkontrolována/schválena oběma zúčastněnými stranami (tedy lidmi pracujícími na kPatch a kGraft). Padla dohoda, že se stane společným základem, na kterém bude stavět další vývoj.

    Nyní je v plánu pokusit se zahrnout toto společné jádro během začleňovacího okna verze 3.20. Potom snad konečně budeme mít podporu živých oprav jádra v hlavní větvi.

    Dokončení začleňovacího okna 3.19

    link

    Podle obvyklé praxe mělo začleňovací okno verze 3.19 skončit 21. prosince, dva týdny po jeho otevření. Ale oslava slunovratu verzí 3.19-rc1 se nekonala; Linus se rozhodl uzavřít začleňovací okno o jeden den dříve. Mimo jiné argumentoval tím, že už dorazilo tolik práce, že vůbec nemělo smysl čekat na další.

    Vzhledem k tomu, kolik toho dorazilo na samém konci, nechci už čekat na nikoho, kdo to nechává opravdu na poslední chvíli. Podle toho by se dalo říct, že už žádní další opozdilci nejsou – a soudě podle velikosti rc1, určitě už jich moc být nemohlo.

    Jde opravdu o velmi rušný vývojový cyklus, během začleňovacího okna bylo zahrnuto 11 408 změnových sad. To je víc než během celého vývojového cyklu verze 3.18, kde bylo před konečným vydáním začleněno 11 379 změnových sad.

    Od souhrnu z minulého týdne bylo převzato asi 1 000 změnových sad; některé zajímavější změny viditelné pro uživatele v této sadě jsou:

    • Zpracování systémového volání setgroups() v uživatelském jmenném prostoru bylo změněno tak, že potenciálně hrozilo poškození některých aplikací, další informace najdete v tomto článku.
    • Souborový systém Ceph nyní podporuje inline data, což zvyšuje výkon u malých souborů. Ceph také podporuje podepisování zpráv k ověřování mezi klienty a servery.
    • Byla odebrána podpora virtualizace KVM pro architekturu Itanium (ia64). Nebyla udržována a pravděpodobně ji už nikdo nepoužívá.
    • Vrstva InfiniBand získala podporu pro vyžádané stránkování. Tato funkce umožňuje nastavit a naplnit oblast RDMA prostřednictvím chyb stránek ve chvíli skutečného použití paměti, čímž odpadne nutnost zabírání velkého objemu paměti, která nemusí být nikdy potřeba.
    • Podpora nového hardwaru zahrnuje:
      • Vstup: Trackpady ELAN I2C/SMbus, dotykové displeje Goodix I2C a Elan eKTH I2C.
      • Různé: Flash NAND s SoC Allwinner, řadiče pulsně šířkového modulátoru (PWM) Broadcom BCM2835 a řadiče PWM Atmel HLCDC.
      • Tepelné: Podpora obecného chlazení zařízení prostřednictvím úprav frekvence časovače, tepelných řídicích systémů NVIDIA Tegra SOCTHERM a Rockchip.

    Mezi změny viditelné pro vývojáře jádra patří:

    • Kód odstraňování modulů byl přepracován, aby se eliminovala volání hodně problematické funkce stop_machine(). V rámci toho došlo k mírnému zpomalení počítání odkazů na moduly, předpokládá se ale, že nikdo si nehraje s počty odkazů tak často, aby byl tento rozdíl znatelný.
    • Z jádra byl konečně odstraněn konfigurační symbol CONFIG_PM_RUNTIME, nyní se používá výhradně CONFIG_PM.
    • Makra READ_ONCE() a ASSIGN_ONCE() (popsána v tomto článku) byla zahrnuta v posledná dávce před uzavřením začleňovacího okna. Tato makra vynucují používání neskalárních typů, což nás doufejme zbaví problémů se záludnými chybami kompilátoru.

    Pokud bude dodržen původní plán, finální verzi vydání jádra 3.19 lze očekávat někdy kolem poloviny března. Mezitím je ale potřeba zařídit spoustu testování a opravování – 11 400 nových změn určitě přineslo nějakou tu chybu. Podle všeho to nyní vypadá, že 3.19-rc1 je na tak rané vydání relativně stabilní, takže to nakonec i přes velký objem oprav může být další rychlý cyklus.

    Pravidlo alokace paměti „příliš malé na selhání“

    link

    Vývojáři jádra jsou už dlouho upozorňováni, na to, že pokusy o alokaci paměti mohou – až na několik výjimek – selhat, pokud systém nemá dostatek prostředků. V důsledku toho provází každé volání funkcí jako kmalloc(), vmalloc() nebo __get_free_pages() doprovází důkladně promyšlený kód pro zpracování chyb. Ukazuje se ale, že chování skutečně zavedené do subsystému správy paměti se trochu liší od toho, co je napsáno v brožuře. Tento rozdíl může vést k nešťastnému chování při spuštění, ale oprava by mohla být ještě horší.

    Diskuse na téma začala, když Tetsuo Handa zaslal dotaz, jak zpracovat konkrétní problém, na který narazil. Sled událostí vypadal nějak takto:

    1. Proces, který aktuálně používá relativně málo paměti, vyvolá operaci souborového systému XFS, která zase k pokračování musí provést alokaci.
    2. Subsystém řízení paměti se tuto alokaci snaží uspokojit, ale zjistí, že není k dispozici žádná paměť. Zareaguje tak, že se nejprve pokusí o přímé opětovné získání (přinutí stránky opustit paměť, aby je uvolnil), pak, pokud tím nezíská potřebnou paměť, vrací se k procesu ukončování z důvodu nedostatku paměti (OOM killer).
    3. OOM killer si vybere oběť a pokusí se ji ukončit.
    4. Aby mohla být tato oběť ukončena, musí provést některé operace ve stejném souborovém systému XFS. To v tomto případě znamená získání zámku, který v současné době drží proces provádějící onu problematickou alokaci paměti. Všechno se zastaví.

    Proces alokace tedy nemůže pokračovat, protože čeká na výsledek svého volání alokace. Toto volání nemůže nic vrátit, dokud není uvolněna paměť, což vyžaduje ukončení procesu oběti. OOM killer bude také čekat na ukončení oběti, než se (možná) pokusí ukončit jiný proces. Ale proces oběti nelze ukončit, protože je pro něj nutné držet zámky od alokujícího procesu. Systém zamrzne a majitel systému začne vážně uvažovat o přechodu na nějakou verzi BSD.

    Když se na tento problém zeptali správce XFS Dava Chinnera, hned se podivil, proč se kód pro správu paměti uchyluje k OOM killeru, místo aby prostě vyvolal selhání problematického přidělení paměti. Podle něj je kód XFS dobře připraven na řešení selhání alokace; domnívá se, že takový kód je lepší než ukončení náhodně vybraných procesů a blokování celého systému. Tehdy správce správy paměti Michal Hocko vypustil bombu prohlášením:

    Bylo nepsaným pravidlem, že alokace GFP_KERNEL pro nejnižší (<=PAGE_ALLOC_COSTLY_ORDER) nikdy neselže. Jde už o dávné rozhodnutí, které by teď bylo obtížné opravit, aniž by se potichu narušilo spoustu kódu. Smutné...

    Výsledná exploze zazněla v Daveově nevěřícně odpovědi:

    Vždycky nám říkali, že přidělení paměti nemá zaručen úspěch, pokud není nastaveno __GFP_NOFAIL, ale to se už nepoužívá a nikdo nemá právo to dál používat.

    Spousta závisí na tom, jestli se alokace paměti podaří nebo selže v případě nedostatku paměti. Patří mezi ně vyrovnávací paměť, takto závislé jsou tedy i všechny souborové systémy. Nepožadujeme výslovně, aby alokace paměti selhala, ale čekáme, že v případě nedostatku k nějakým selháním alokace paměti dojde. S tímhle na paměti jsme navrhovali a psali kód posledních 15 let.

    Pravidlo alokace „příliš malé na selhání“ se u většiny jader týká jedné z osmi souvislých stránek nebo méně – což je docela dost. Nikdo si vlastně ani nepamatuje, kdy se pravidlo, že by tyto alokace neměly selhat, dostalo do jádra; vzniklo ještě před érou Gitu. Jak vysvětlil Johannes Weiner, předpokládalo se, že pokud by takové malé alokace paměti nemohly být uspokojeny, systém bude stejně tak nepoužitelný, že nebude možné stejně použít žádnou praktickou alternativu k vyvolání OOM killeru. Může tomu tak být, ale uzamčení systému v případě, kde je jádro připraveno vyřešit selhání alokace, také může způsobit nepoužitelnost systému.

    Jednou alternativou, na kterou přišla řeč v diskusi, bylo přidat ke zvláštním žádostem o alokaci příznak __GFP_NORETRY. Tento příznak způsobí selhání žádosti i o malou alokaci, pokud nejsou k dispozici zdroje. Ale jak poznamenal Dave, snažit se opravit potenciálně vzájemně blokované požadavky pomocí __GFP_NORETRY je vytloukání klínu klínem; klínů stále přibývá a nakonec zvítězí.

    Alternativou by bylo zbavit se pravidla „příliš malé na selhání“ a zařídit, aby alokační funkce pracovaly tak, jak od nich většina vývojářů jádra čeká. Johannesova zpráva obsahovala opravu posunující všechno tímto směrem; způsobuje ukončení nekonečných smyček o opětovné získání paměti (a selhání žádosti o alokaci), pokud se pokusům o přímé opětovné získání nepodaří skutečně uvolnit žádnou paměť. Ale poznamenal, že „pomyšlení na selhávání alokací po tak dlouhé době je děsivé.“

    Je to děsivé z několika důvodů. Například ne všichni vývojáři jádra jsou natolik pilní, aby kontrolovali každou alokaci paměti a mysleli na náležitý postup obnovení. To ale není všechno – protože malé alokace neselhávají, neprovádí se nyní v jádře téměř žádný z tisíců postupů pro obnovu po chybě. Měly by se testovat, pokud by vývojáři používali platformu pro přidávání chyb jádra fault injection framework), ale v praxi se ukazuje, že to dodržuje jen hrstka vývojářů. Tyto postupy obnovy po chybě se tedy nejen nepoužívají a pomalu vyhnívají; navíc to vypadá, že nepříjemně velká část z nich zjevně nebyla ani nikdy vyzkoušena.

    Pokud má být nepsané pravidlo „příliš malé na selhání“ zrušeno, začnou se všechny tyto postupy obnovy po chybě vůbec poprvé aktivně používat. V jádře by tak přibyly tisíce řádků netestovaného kódu, který se spouští jen za výjimečných okolností, kdy už se tak jako tak něco pokazilo. Nemůže být pochyb o tom, že se vynoří spousta skrytých chyb a potenciálních bezpečnostních problémů.

    Tím se vývojáři správy paměti ocitnou v trochu prekérní situaci. Pokud zajistí, aby se funkce alokace paměti chovaly podle proklamací, zcela jistě tím v jádru způsobí řadu obtížně dohledatelných chyb. Stávající situace ale má také svoje stinné stránky, které se můžou zhoršovat s tím, jak bude zamykání jádra stále složitější. Také to významně plýtvá časem potřebným na vývoj kódu obnov po chybách, který nikdy nebude spuštěn. Zavedení chyb alokace při nedostatku paměti v tak pozdní fázi vývoje může být natolik děsivé, že se o ně ani nikdo nepokusí, i když by z dlouhodobého hlediska zaručilo lepší jádro.

           

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

    10.3.2015 06:59 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Uživatelský obor názvů
    Někdo by čekal, že se překladatel začervená a příště si dá pozor. Přesto ani tentokrát jsme nebyli ochuzeni o „uživatelský obor názvů“ (user namespace).
    10.3.2015 14:47 Jindřich Makovička | skóre: 13
    Rozbalit Rozbalit vše Re: Uživatelský obor názvů
    Já bych překladatele pochválil za zlepšení, tohle vydání už na rozdíl od minulého není write-only.
    10.3.2015 18:03 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Uživatelský obor názvů
    Oproti minulému dílu to je rozhodně velké zlepšení, jen tak dál.
    11.3.2015 22:21 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Uživatelský obor názvů
    To ano. Výrazně zlepšení lze pozorovat.
    Otto Šabart avatar 13.3.2015 20:06 Otto Šabart | skóre: 13 | blog: KatiePC blog | Rychnov nad Kněžnou | Brno
    Rozbalit Rozbalit vše Re: Jaderné noviny – 24. 12. 2014: Dokončení začleňovacího okna verze 3.19
    Chválím překladatele a děkuji :). I když se jedná pouze o překlad, tak jaderné noviny jsou jedna z mála věcí co přidává tomuto portálu informační hodnotu...
    *´¨)¸.·´¨)¸.·***·>>> www.seberm.com

    Založit nové vláknoNahoru

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