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

    Během tradiční ceremonie k oslavě Dne vzniku samostatného československého státu (28. října) byl vyznamenán medailí Za zásluhy (o stát v oblasti hospodářské) vývojář 3D tiskáren Josef Průša. Letos byly uděleny pouze dvě medaile Za zásluhy o stát v oblasti hospodářské, druhou dostal informatik a manažer Ondřej Felix, který se zabývá digitalizací státní správy.

    Gréta | Komentářů: 0
    dnes 04:44 | Nová verze

    Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 15.0. Postaven je na Firefoxu ESR 140.

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

    Bylo oznámeno (cs) vydání Fedora Linuxu 43. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách Fedora Magazinu: Fedora Workstation, Fedora KDE Plasma Desktop, Fedora Silverblue a Fedora Atomic Desktops.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | IT novinky

    Elon Musk oznámil (𝕏) spuštění internetové encyklopedie Grokipedia (Wikipedia). Zatím ve verzi 0.1. Verze 1.0 prý bude 10x lepší, ale i ve verzi 0.1 je podle Elona Muska již lepší než Wikipedia.

    Ladislav Hagara | Komentářů: 10
    včera 05:44 | Komunita

    PSF (Python Software Foundation) po mnoha měsících práce získala grant ve výši 1,5 milionu dolarů od americké vládní NSF (National Science Foundation) v rámci programu "Bezpečnost, ochrana a soukromí open source ekosystémů" na zvýšení bezpečnosti Pythonu a PyPI. PSF ale nesouhlasí s předloženou podmínkou grantu, že během trvání finanční podpory nebude žádným způsobem podporovat diverzitu, rovnost a inkluzi (DEI). PSF má diverzitu přímo ve svém poslání (Mission) a proto grant odmítla.

    Ladislav Hagara | Komentářů: 22
    včera 04:55 | Nová verze

    Balík nástrojů Rust Coreutils / uutils coreutils, tj. nástrojů z GNU Coreutils napsaných v programovacím jazyce Rust, byl vydán ve verzi 0.3.0. Z 634 testů kompatibility Rust Coreutils s GNU Coreutils bylo úspěšných 532, tj. 83,91 %. V Ubuntu 25.10 se již používá Rust Coreutils místo GNU Coreutils, což může přinášet problémy, viz například nefunkční automatická aktualizace.

    Ladislav Hagara | Komentářů: 0
    27.10. 21:00 | IT novinky

    Od 3. listopadu 2025 budou muset nová rozšíření Firefoxu specifikovat, zda shromažďují nebo sdílejí osobní údaje. Po všech rozšířeních to bude vyžadováno někdy v první polovině roku 2026. Tyto informace se zobrazí uživateli, když začne instalovat rozšíření, spolu s veškerými oprávněními, která rozšíření požaduje.

    Ladislav Hagara | Komentářů: 0
    27.10. 17:11 | Humor

    Jste nuceni pracovat s Linuxem? Chybí vám pohodlí, které vám poskytoval Microsoft, když vás špehoval a sledoval všechno, co děláte? Nebojte se. Recall for Linux vám vrátí všechny skvělé funkce Windows Recall, které vám chyběly.

    Ladislav Hagara | Komentářů: 1
    27.10. 16:11 | Komunita

    Společnost Fre(i)e Software oznámila, že má budget na práci na Debianu pro tablety s cílem jeho vyžívání pro vzdělávací účely. Jako uživatelské prostředí bude použito Lomiri.

    Ladislav Hagara | Komentářů: 1
    26.10. 17:11 | IT novinky

    Proběhla hackerská soutěž Pwn2Own Ireland 2025. Celkově bylo vyplaceno 1 024 750 dolarů za 73 unikátních zranitelností nultého dne (0-day). Vítězný Summoning Team si odnesl 187 500 dolarů. Shrnutí po jednotlivých dnech na blogu Zero Day Initiative (1. den, 2. den a 3. den) a na YouTube.

    Ladislav Hagara | Komentářů: 5
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (47%)
     (20%)
     (19%)
     (23%)
     (17%)
     (21%)
     (17%)
     (18%)
    Celkem 279 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Jaderné noviny – 19. 1. 2011: Jak pomáhá linux-next při vývoji

    31. 1. 2011 | Jirka Bourek | Jaderné noviny | 3680×

    Aktuální verze jádra: 2.6.38-rc1. Citáty týdne: Matthew Garrett, David Woodhouse. Obcházení linux-next. Začleňovací okno 2.6.38, část druhá. Transparentní velké stránky v 2.6.38.

    Obsah

    Aktuální verze jádra: 2.6.38-rc1

    link

    Současné vývojové jádro je 2.6.38-rc1, vydáno bylo 18. ledna. Jsou to dva týdny a začleňovací okno 2.6.38 se tedy zavírá. A rozhodně bylo zajímavé. V tomto cyklu bylo začleněno těsně nad 7 600 změn. Některé z nich poměrně invazivně ovlivňují základní kód a již byly nahlášeny poměrně významné regrese. Lidé testující 2.6.38-rc1 by měli být o něco opatrnější (a mít lepší zálohy) než obvykle. Všechny detaily vizte v kompletním changelogu.

    Stabilní aktualizace: Během tohoto týdne žádné nevyšly.

    Citáty týdne: Matthew Garrett, David Woodhouse

    link

    Svobodný software strašně připomíná klobásy – úžasně chutné, ale občas přijdete na to, že jste posledních 15 let jedli ovčí nozdry.

    -- Matthew Garrett

    Často je to tak, že určití vývojáři docela nechápou náklady kódu, který píšou, a to i když používají C. I když by měli být, ne všichni jsou nuceni trávit část života koukáním na to, co vyprodukoval překladač z jejich kódu, a zjišťovat, co ve skutečnosti dělá.

    -- David Woodhouse

    Obcházení linux-next

    link

    napsal Jonathan Corbet, 19 ledna 2011

    Od vytvoření stromu linux-next uběhly téměř tři roky a během té doby se stal nepostradatelnou součástí vývojového procesu. Když je kód začleněn do hlavní řady, byl předtím testován, co se integrace a překladu týče, v linux-next; v některých případech je dokonce testováno i použití. To napomohlo tomu, že začleňovací okna probíhají o něco více hladce. Není tedy překvapením, že vývojáři jsou číl dál tím více nabručení, když nějaký kód linux-next obchází a vytváří problémy v hlavní řadě.

    V cyklu 2.6.38 jsme viděli několik příkladů. Když Al Viro zaslal svůj první požadavek na přetažení VFS, stěžoval si správce linux-next Stephen Rothwell, že tento kód vidí poprvé, přestože zjevně existuje již několik měsíců. Al je známý tím, že příspěvky do hlavní řady stíhá na poslední chvíli, takže to nebylo tak překvapující; uvidíme, jestli ho bude možné přesvědčit, aby své postupy změnil.

    Další stížnost přišla po začlenění sady patchů transparentních velkých stránek [transparent huge pages], které přišly přes strom -mm Andrewa Mortona. Tony Luck, který zjistil, že hlavní řadu najednou nejde přeložit pro ia64, se zeptal:

    Nedal Andrew na jaderném summitu nějaký unáhlený slib, že přestane jíst, pokud „-mm“ nebude do konce listopadu začleněn do linux-next? To už musí mít pořádný hlad.

    Andrew odpověděl, že to chce čas – se Stephenem probíráme plán. Integrace -mm vždy byla a bude trochu problematická; linux-next má obsahovat kód, který je připraven k začlenění do hlavní řady, zatímco v -mm může léta být kód ve vývoji. Dokud to nebude vyřešeno, vývojáři správy paměti budou v trochu obtížné situaci; nemají k dispozici žádný správcovský strom [maintainer tree], kam by mohli začlenit svůj kód a odkud by byl začleněn do linux-next. Tito vývojáři budou do linux-next muset buď zasílat své vlastní stromy (což je jednoduché), nebo přijmout stížnosti, když kód, který žil v -mm, vidí testeři v době začlenění do hlavní řady poprvé.

    Začleňovací okno 2.6.38, část druhá

    link

    napsal Jonathan Corbet, 19 ledna 2011

    V době vydání 2.6.38-rc1 bylo do hlavní řady přetaženo nějakých 7616 neslučovacích sad změn. Od shrnutí z minulého týdne bylo začleněno mnoho významných úprav; nejzajímavější z těch viditelných pro uživatele jsou:

    • Byly začleněny transparentní velké stránky [transparent huge pages, THP]. THP se snaží maximalizovat používání velkých stránek v systému (což zvyšuje výkonnost), bez nutnosti měnit aplikace nebo něco nastavovat.

    • Byl přidán nový nástroj turbostat; lze ho použít k získání různých výkonnostních statistik z procesorů Intel. Také byl přidán x86_energy_perf_policy, který umožňuje ladit výkonnost/spotřebu procesorů Intel.

    • API taskstats bylo změněno tak, že jinak zarovnává vrácené hodnoty; to může rozbít aplikace, které závisí na starém uspořádání.

    • Jádro nyní může s vysokou přesností synchronizovat svůj interní čas podle externího signálu pulzy-za-sekundu [pulse-per-second, PPS]. Jádro také získalo možnost generovat (a přijímat) PPS signály na paralelním portu, tedy za předpokladu, že někdo ještě najde počítač, na kterém takový port bude.

    • Architektura x86 nyní může bootovat jádra komprimovaná pomocí XZ.

    • Do vrstvy zařízení pro vstup od uživatele [human input devices, HID] byla začleněna základní podpora pro vícedotykové panely.

    • Jádro nyní obsahuje podporu pro šifrovací algoritmus RFC4106 AES-GCM.

    • Systémové volání fallocate() lze nyní využít k vyrážení děr do prostředka souborů. Tuto vlastnost v současnosti podporují XFS a OCFS2.

    • Souborový systém XFS podporuje ioctl() FITRIM, což umožňuje vyvolat z uživatelského prostoru zahazovací operace. Není to určeno pro volání během normální zátěže, protože procházky b-stromem volného prostoru mohou způsobit vážnou degradaci výkonu.

    • Jádro SCSI cíle LIO bylo začleněno.

    • Řízení propustnosti blokového I/O může být nyní využíváno hierarchickými kontrolními skupinami.

    • Bloková vrstva má nyní mechanismus pro „zpracování událostí“. To znamená, že detekci událostí v těchto zařízeních (například vložení optického disku) mohou zajišťovat ovladače, což odbourává nutnost neustále se dotazovat z uživatelského prostoru.

    • dm-crypt device maperu má nyní režim „multikey“, který umožňuje zašifrovat různé bloky různými klíči. Cíl crypt nyní také umí přistupovat k zašifrovaným oddílům vytvořených balíkem loop-AES, který je mimo strom.

    • Device mapper získal možnost spravovat svazky RAID4/5/6 použitím ovladačů MD RAID.

    • Systémové volání clone() již nedodržuje dlouhodobě zastaralý příznak CLONE_STOPPED.

    • Souborový systém btrfs získal podporu pro snímky [snapshot] pouze pro čtení a LZO kompresi.

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

    • Do adresáře tools byl přidán nástroj ktest.pl, který umožňuje automatizovat překládání, testování a dělení jader půlením.

    • Specifikátor formátu „%pK“ lze použít k vypisování hodnot potenciálně citlivých ukazatelů v jádře, obzvláště v místech, jako jsou soubory v /proc. Chování tohoto formátu závisí na hodnotě /proc/sys/kernel/kptr_restrict; hodnota nula znamená, že ukazatele budou vypisovány jako obvykle, zatímco jednička způsobí, že se uživatelům bez CAP_SYSLOG vypíše nula. Dvojka skryje ukazatele všem.

    • Byla odstraněna funkce cdev_index; vzhledem k tomu, že v jádře ji nikdo nepoužíval, pravděpodobně si toho nikdo nevšimne.

    • Nová funkce kref_test_and_get() vytvoří odkaz [reference] jenom v případě, že současný počet odkazů není nulový.

    • Byly přidány nějaké dentry operace, které podporují automatické připojování ve VFS.

    • Zpětné volání [callback] fallocate() bylo přesunuto z struct inode_operations do struct file_operations.

    Seznam vlastnosti 2.6.38 je kompletní a proces stabilizace veškerého nového kódu může začít; konečné vydání 2.6.38 očekávejme někdy koncem března.

    Transparentní velké stránky v 2.6.38

    link

    napsal Jonathan Corbet, 19 ledna 2011

    Jednotka pro správu paměti téměř v každém dnešním procesoru dokáže pracovat s více velikostmi stránky, ale linuxové jádro se téměř vždy omezuje na nejmenší z těchto velikosti – na většině architektur 4096B. Stránky, které jsou větší než toto minimum – nazývají se velké stránky [huge pages] – mohou pro některé zátěže nabídnout větší výkonnost, ale na Linuxu se ani tak téměř nepoužívají. To by se v 2.6.38 mohlo se začleněním transparentních velkých stránek změnit.

    Velké stránky mohou výkonnost vylepšit omezením počtu výpadků stránky [page fault] (jediný výpadek načte veký kus paměti naráz) a omezením nákladů na překlad virtuálních adres na fyzické (k získání fyzické adresy je potřeba projít méně úrovní tabulek stránek). Největší výhoda nicméně plyne z úplného odbourání tohoto překladu – když procesor musí přeložit virtuální adresu, musí projít celými čtyřmi úrovněmi tabulek stránek, u každé je šance, že nebude v cache a tudíž to bude pomalé. Z tohoto důvodu si procesory udržují buffer pro výsledky překladu [translation lookaside buffer, TLB], ve kterém se uchovávají výsledky překladů. TLB je často poměrně malý; cpuid na stárnoucím desktopu autora článku vrací:

    cache and TLB information (2):
       0xb1: instruction TLB: 2M/4M, 4-way, 4/8 entries
       0xb0: instruction TLB: 4K, 4-way, 128 entries
       0x05: data TLB: 4M pages, 4-way, 32 entries

    Je zde tedy místo pro 128 překladů kvůli instrukcím a 32 kvůli datům. Tak malá cache se snadno zaplní, což nutí CPU provádět mnoho překladů. Jediná 2MB velká stránka vyžaduje jediný záznam v TLB; stejná paměť by v 4kB stránkách potřebovala 512 záznamů v TLB. Vzhledem k tomu není překvapením, že velké stránky mohou programům pomoci běžet rychleji.

    Hlavní adresový prostor jádra je mapován velkými stránkami, což omezuje tlak na TLB ze strany jaderného kódu. Nicméně jediný způsob, jakým mohou aplikace v uživatelském prostoru využít velké stránky pod současnými jádry, je pomocí hugetlbfs, který byl rozsáhle popsán na LWN.net. Používání hugetlbfs vyžaduje značnou snahu jak ze strany vývojářů aplikací, tak systémových administrátorů; velké stránky se musí odložit stranou během bootu a aplikace je musí mapovat explicitně. Proces je tak náročný, že se používání hugetlbfs omezuje na ty, kteří opravdu chtějí a mají čas se s tím zabývat. Hugetlbfs se často považuje za vlastnost určenou pro velké proprietární databázové systémy a téměř nikoho jiného.

    Mechanismus, který by zjednodušil používání velkých stránek pokud možno bez další práce vývojářů či administrátorů, by tedy byl velmi užitečný. Vytvořit takový mechanismus je přesně cílem patche transparentních velkých stránek [transparent huge pages, THP], který vytvořil Andrea Arcangeli a který byl začleněn do 2.6.38. V krátkosti se THP snaží zajistit, aby se velké stránky „prostě objevily“ v situacích, kdy budou užitečné.

    Současná jádra předpokládají, že všechny stránky v jedné oblasti virtuální paměti [virtual memory area, VMA] budou stejně velké. Aby THP mohlo fungovat, musel se Andrea tohoto požadavku zbavit; většina počáteční části sady patchů se tedy věnuje tomu umožnit smíšené velikosti stránek ve VMA. Patch poté jednoduše modifikuje obsluhu výpadku stránky: když dojde k výpadku, jádro se pokusí alokovat velkou stránku. Pokud alokace uspěje, bude naplněna velká stránka, všechny existující malé stránky v adresovém rozsahu nové stránky budou uvolněny a velká stránka se vloží do VMA. Pokud nejsou žádné velké stránky k dispozici, jádro se vrátí zpět k používání malých stránek a aplikace si nikdy nevšimne rozdílu.

    Toto schéma transparentně zvýší používání velkých stránek, ale to ještě problém neřeší. Velké stránky musí být možné odswapovat, kdyby systému rychle docházela paměť. Než aby komplikoval kód swapování tím, že do něj přidá podporu pro velké stránky, Andrea jednoduše rozdělí velkou stránku na malé. K rozdělení stránky vede i mnoho dalších operací (mprotect(), mlock(), ...)

    Alokace velkých stránek závisí na dostupnosti velkých fyzicky spojitých kusů paměti – to je něco, s čím programátoři Linuxu nemohou nikdy počítat. Lze také předpokládat, že takové stránky budou najednou k dispozici až v době, kdy to k ničemu není – například když proces kvůli výpadkům nahrál do paměti mnoho malých stránek. THP se snaží tuto situaci vylepšit vytvořením jaderného vlákna „khugepaged“. Toto vlákno se občas pokusí alokovat velkou stránku; když uspěje, prohledá paměť a pokusí se najít místo, kde by touto velkou stránkou bylo možné nahradit hromadu menších stránek. Dostupné velké stránky by tedy měly rychle být využity, což maximalizuje jejich používání v systému jako celku.

    Současný patch pracuje pouze s anonymními stránkami; k integraci velkých stránek do cache stránek ještě nedošlo. Také pracuje pouze s jednou velikostí stránky (2MB). I tak lze ale pozorovat užitečný nárůst výkonu. Mel Gorman zkusil pár benchmarků, které ukazují zlepšení v některých situacích až o 10 %. Obecně výsledky nebyly tak dobré v porovnání s tím, čeho lze dosáhnout pomocí hugetlbfs, ale u THP je mnohem pravděpodobnější, že se opravdu použije.

    Kvůli využívání velkých stránek není potřeba nijak měnit aplikace, ale zainteresovaní vývojáři mohou zkusit optimalizovat jejich používání. Volání madvise() s příznakem MADV_HUGEPAGE označí kus paměti jako obzvláště vhodný pro velké stránky, zatímco MADV_NOHUGEPAGE naznačí, že velké stránky by bylo vhodnější použít jinde. Aplikace, které chtějí velké stránky používat, tomu mohou pomoci voláním posix_memalign() tak, že se velké alokace zarovnají na hranice velkých (2MB) stránek.

    Správci systému mají mnoho knoflíků, kterými mohou používání velkých stránek ladit, všechny jsou k nalezení v /sys/kernel/mm/transparent_hugepage. Hodnota enabled může být nastavena na „always“ (vždy používat THP), „madvise“ (velké stránky používat pouze ve VME označených pomocí MADV_HUGEPAGE) či „never“ (THP vypnuto). Další knoflík defrag přijímá stejné hodnoty; řídí, jestli má jádro agresivně používat shlukování paměti a vytvářet tak více velkých stránek. Je zde také celá sada parametrů, které řídí fungování vlákna khugepaged; detaily vizte v Documentation/vm/transhuge.txt.

    Patch THP měl od začlenění do hlavní řady trochu těžkou cestu. Kód se nikdy neobjevil v linux-next, takže překvapil některé správce architektur, protože kvůli němu selhával překlad. Také byly nalezeny nějaké chyby – žádné překvapení pro patch této velikosti, který navíc modifikuje velkou část základního kódu. Tyto problémy jsou postupně žehleny, takže i když by si testeři 2.6.38-rc1 měli dávat pozor, THP by mělo být ve finálním vydání jádra 2.6.38 použitelné.

           

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

    31.1.2011 08:22 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 1. 2011: Jak pomáhá linux-next při vývoji
    Svobodný software strašně připomíná klobásy – úžasně chutné, ale někdy občas přijdete na to,...
    Jedno z nich tam je navíc...
    31.1.2011 08:28 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše překlep
    Další knoflík defrag přijímá stejné hodnoty; řádí, jestli má jádro agresivně používat shlukování paměti a vytvářet tak více velkých stránek.
    Nevím, jestli radí nebo řídí, ale je to kouzelný překlep…
    atan avatar 31.1.2011 11:13 atan | skóre: 21 | Liberec
    Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 1. 2011: Jak pomáhá linux-next při vývoji
    Seznam vlastnosti 2.6.38 je kompletní...
    Jak kompletní?? A co Dom0 backend ovládače? Zase nic? :(
    31.1.2011 12:34 kyytaM | skóre: 35 | blog: kyytaM | Bratislava
    Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 1. 2011: Jak pomáhá linux-next při vývoji
    Hlavna osoba zaclenovania mala cez zaclenovacie okno dovolenku. :) Ale nejake dalsie nove veci sa aj tak pretlacili (samozrejme aj rozne bugfixy).
    1.2.2011 17:03 x
    Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 1. 2011: Jak pomáhá linux-next při vývoji
    Hura, zeby mi konecne zase slo primontovat fakeraid5 bez extraburt patchovani jadra ? Po vic nez 2 letech ?
    5.2.2011 21:23 m;)
    Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 1. 2011: Jak pomáhá linux-next při vývoji
    transparentne superpages (aka huge pages) uz vo freebsd 7 (t.j. aspon 2 roky) ;-)
    6.2.2011 13:20 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 1. 2011: Jak pomáhá linux-next při vývoji
    No toto... a jestlipak už taky mají podporu pro InfiniBand...?
    Quando omni flunkus moritati

    Založit nové vláknoNahoru

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