Portál AbcLinuxu, 5. května 2025 19:00
2.6.24-rc4, "trošku pozdě". 2.6.24-rc5, konečná verze do Vánoc nebude. Citát: Vyhýbání se OOM killerovi. Sbírání dat z jaderných oops. Oprášení jádra 0.01. Vydání stabilního jádra 2.4.36. Citát: Proti tomu se postavím. Ospalý Linux. Citát: Výhody TuxOnIce. 2.6.24-rc7, spousta malých změn. Citát: Menšina. Dekódování oops.
Následující obsah je © KernelTrap.
4. prosinec, originál
Mezi jednotlivými vydáními -rc bychom měli mít týdenní interval, ale během Díkůvzdání jsem byl týden pryč (stejně jako mnoho dalších vývojářů jádra), takže tohle je trochu opožděné. Zpoždění začíná být spíše pravidlem než výjimkou, ale slibuji, že se polepším... Linus Torvalds takto začal oznámení o vydání jádra 2.6.24-rc4. Není v něm moc vzrušujících změn, ale děje se v něm o hodně víc změn, než bych doufal ve stádiu, kdy máme -rc4. V diffstatech vynikají Blackfin, MIPS a Power, ale v ARM a x86 došlo také k nějakým aktualizacím.
Něco se dělo také u ACPI (přiškrcování [throttling] procesoru atd.), společně s tím proběhly různé aktualizace ovladačů: ATA, IDE, infiniband, SCSI, USB a síťové ovladače. U souborových systémů cifs, NFS, ocfs2 a proc. Uf. Je toho příliš.
Diff od -rc3 má skoro 36000 řádek a to je ten menší pro git, kde se přejmenování ukazují jako přejmenování (není to ten, který nahrávám jako patche na kernel.org, ten je dělán tak, aby ho mohli používat lidé s GNU patch a dalšími starodávnými programy, které používají diffy). Částečně za to může to dvoutýdenní okno, ale i tak je to trochu skličující. Opravdu doufám, že budeme zpomalovat a že -rc5 bude o hodně menší.
Zkrátka, žádná ze změn není opravdu vzrušující nebo opravdu děsivá. Také jsme opravili spoustu regresí, i když víc jich určitě zbývá.
12. prosinec, originál
Je to týden, co jsem slíbil, že budu hodný chlapec a budu dodržovat pravidla o vydávání verzí, takže tady je další -rc, psal Linus Torvalds v oznámení jádra 2.6.24-rc5 Dodal k němu:
Věci se zpomalily, ale lhal bych, kdybych řekl, že máme všechny regrese ošetřené a pod kontrolou. Pracuje se na nich a seznam se zmenšuje, ale můj odhad je, že určitě nebudeme mít finální verzi 2.6.24 hotovou před Vánoci, pokud tedy Santa nezaměstná víc elfů, aby na těch regresích zapracovali. Takže všichni elfové tam venku - prosím, pokračujte v práci.
Linus dodal, že v tomto nejnovějším release candidate nebyly žádné velké změny, takže nemá cenu posílat diffstat. S ohledem na délku textu je na pohled výrazný revert PA-RISC a aktualizace defconfigu u powerpc. A SPI ovladač pro Blackfin. Zbytek je z velké části náhodný šum v různých subsystémech (ovladače/síť, souborový systém xfs a aktualizace architektur jsou některé z oblastí, kde se objevuje víc změn).
Kdykoliv začne OOM killer střílet, se systémem je něco špatně a je mnohem produktivnější to řešit, než si přát přesnějšího OOM killera.
Dan Kegel, zpráva ze 7. prosince na Linux Kernel mailing list.
17. prosinec, originál
Arjan van de Ven oznámil novou webovou stránku: http://www.kerneloops.org sbírá z různých mailových konferencí a bugzill zprávy z jaderných oops a varování. Přiložil shrnutí deseti nejčastějších oops zpráv za posledních 7 dní a poznamenal: Toto je první takové shrnutí, které zasílám. Dejte mi, prosím, vědět, jestli je to užitečné, nebo ne.
Odezva byla kladná. Andrew Morton poznamenal: To mohla být sranda naprogramovat. Steven Richter vyjádřil obavy, že tento nástroj bude započítávat stejnou zprávu o chybě několikrát, pokud ji najde na několika místech. S tím Arjan souhlasil: To je pravda, nicméně je to... složitá věc. Je opravdu složité rozlišit duplicitní zprávu od dvou zpráv o stejné chybě. Objevila se také další obava, že budou odděleny oops vygenerované jádrem 2.6.X-rcY a 2.6.X.rcY-mmZ. Arjan poznamenal: Zjištění, ze které verze jádra ten oops pochází je... překvapivě složité. A upřímně, chyby proti -mm nás také dost zajímají, protože se přece jenom v budoucnu dostanou do hlavní řady.
2. leden, originál
Abdel Benamrouche oznámil, že aktualizoval původní jádro verze 0.01 tak, aby šlo přeložit gcc řady 4.x a mohlo tedy běžet v emulátorech jako je QEMU a Bochs.
Po aplikování sady malých patchů, vysvětluje Abdel, může být jádro 0.01 přeloženo na systému, který běží na linuxovém jádře 2.6.Dodal, že úspěšně portoval bash-3.2, část coreutils-6.9, dietlibc-0.31 (místo glibc), bin86-0.16.17, make-3.81, ncurses-2.0.7 a vim-7.1, aby mohly na tomto modifikovaném jádře fungovat.
3. leden, originál
Nový rok, nové jádro: Linux 2.4.36 je konečně hotové a bylo prověřováno dost dlouho na to, abychom ho mohli vydat. Od 2.4.35 byla opravena spousta chyb, chyb při překladu a bezpečnostních problémů, ale všechny tyto opravy byly začleněny do 2.4.35-stable, oznámil správce jádra 2.4 Willy Tarreau.
Měl bych říct, že jsem docela spokojen s modelem vydávání s dvěma větvemi, který velmi úspěšně odděluje rychlé opravy od změn, které potřebují podrobnější testování. Potom dodal:
Co se budoucích verzí týče, nezbývá už nic, co by bylo potřeba udělat. Budu pokračovat s 2.4.36.X, až přijdou opravy chyb. 2.4.37 založím jenom v případě, že dostanu něco, co nebudu považovat za vhodné pro zařazení do 2.4.36.X.
Předchozí stabilní jádro 2.4.35 bylo vydáno v červenci 2007. Změny na úrovni zdrojových kódů lze prohlédnout přes gitweb rozhraní linux-2.4.
Proti čemu se budu hodně stavět, je přístup "nevíme, co je špatně, ale necháme to špatně, protože nás přece nikdo nemůže otravovat s tím, abychom to řešili."
Linus Torvalds, zpráva ze 2. ledna na Linux Kernel mailing list.
4. leden, originál
Současné verze Linuxu umí přejít do režimu uspání do paměti [suspend-to-RAM] docela dobře, ale mohou to udělat jenom na přímý příkaz. Uspávání do paměti je ale důležité, spotřeba energie v porovnání s nezatíženým [idle] systémem je asi 10 %. Ruční uspávání není příliš vhodné, začal Pavel Machek popis svého nápadu, který nazval Ospalý Linux.
Ruční uspávání nepřichází v úvahu na víceuživatelských strojích a ani na jednouživatelských to není tak jednoduché: 1) Stáhni tenhle velký kus něčeho v Mozille a pak se uspi; 2) Zkompiluj tohle a pak se uspi; 3) Můžeš se uspat hned, ale v 8:30 mě probuď mp3 přehrávačem. Pavel poskytl jednoduchý a ne zcela funkční patch, potom popsal navrhované řešení:
Dnešní hardware je většinou schopen fungovat lépe: se správně nastaveným probouzením může stroj spát a přitom předstírat, že nespí, tak, že se probudí pokaždé, když se stane něco zajímavého. To je samozřejmě jednodušší na strojích, které nejsou připojeny do sítě, a na noteboocích.
Možná to také pomůže v mé snaze, pokud si na nějakou najdu čas, přesvědčit Andrewa, že TuxOnIce má skutečně významné výhody oproti (u)swsusp a na kexec založené hibernaci.
Nigel Cunningham, zpráva z 1. ledna na Linux Kernel mailing list.
7. leden, originál
Linus Torvalds oznámil vydání linuxového jádra 2.6.24-rc7: Od -rc6 uplynuly dva týdny, ale přiznejme si, že mezi Vánoci a Novým rokem (a narozeninami) nebylo mnoho pracovních dní, takže rozdílový patch z -rc6 je poloviční oproti tomu z rc5 na rc6. Budu shovívavý a budu tvrdit, že je to díky tomu, že se všechno stabilizuje, ne proto, že jsme všichni během svátků byli zpití do němoty.
Linus stručně shrnul změny: Zkrácený log (přiložen dole) je krátký a vcelku informativní. Je to prostě jenom spousta malých změn. Diffstat zobrazuje spoustu jedno- a dvouřádkových změn, větší pozornost budí jen pár ovladačů (a platforma Cell.) Více vyniká jenom podpora /proc/slabinfo
ve SLUB.
Musím říct, že chyby, které skutečně zmizí poté, co uživatel přestane používat nvidia/fglrx/ndiswrapper/atd., tvoří v celkovém počtu menšinu.
Andrew Morton, zpráva z 9. ledna na Linux Kernel mailing list.
9. leden, originál
Tento týden bylo hlášeno celkem 49 oops hlášení a varování, minulý týden to bylo 53, napsal Arjan van de Ven, když posílal seznam nejčastějších 10 kernel oops z tohoto týdne. Al Viro navrhl: Lidé, kteří si stěžují, že s prací v jádře teprv začínají a že pro ně proto není dost práce, by mohli dekódovat tato hlášení na "tohle místo v téhle funkci, funkce byla volána <odtud>, hodnota té a té proměnné byla <taková>" a posílat výsledky.
Následovalo mnoho požadavků na návod, jak takový oops dekódovat. Linus Torvalds odpověděl: Ve skutečnosti to není vždy tak triviální, zvlášť když nemáte hluboké znalosti o kódu generovaném pro danou architekturu (a i tak jsou některé oops složitější než jiné kvůli inliningu, volání funkce na konci jiné [tail-call], atd.) Pokud oops nastane u kernelu, který jste si přeložili sami, je to většinou jednoduché, zvlášť pokud jste při konfiguraci řekli "y" u "Generovat ladící informace" [Generate debugging info].
Linus pokračoval detailnějším postupem, jak hledat chybu v oops hlášení, které náhodně vybral v lkml. Obecně musíte disasemblovat šestnáctkovou sekvenci uvedenou v oops hlášení (řádka "Code") a pokusit se ji spojit se zdrojovým kódem tak, abyste zjistili, co se děje. Potom uvedl několik tipů, jak toho dosáhnout nejlépe, a pokračoval příkladem, ve kterém prošel jeden z nahlášených oops. Al Viro se přidal popisem svých vlastních metod, jak dosáhnout stejného výsledku, přičemž prošel jiné hlášení a chybu nalezl.
kt_citace
?
Jinak opět děkuji za další díl Jaderných novin.
Nepoužívaly se dříve v JN správné české uvozovky „“?Spíše ne, ale je pravda, že bych to měl zavést u všech článků.
Nehodilo by se pro citáty v JN používat sémantický tag <cite> a dám mu stejný styl, jako má třída kt_citace
?
Těch tagů, které by našly uplatnění, je více (q, samp, kbd, ...). Zkusím s nimi začít pracovat.
Kdykoliv začne OOM killer střílet, se systémem je něco špatně a je mnohem produktivnější to řešit, než si přát přesnějšího OOM killera.nevím, jestli to není vytržené z kontextu, ale tak jak to stojí, tak bych řekl, že pisatel je s odpuštěním trouba - když je chyba v aplikaci (nebo třeba ani ne chyba, prostě jen zpracovává neobvykle velká data) a ta si naalokuje veškerou dostupnou paměť, takže systém jde do kytek, jak to podle něj mám řešit, to mám tu aplikaci přestat používat a odinstalovat, aby náhodou nedošlo na killer? nebo si mám napsat vlastního démona, který bude hlídat paměť a sestřelí, co jí žere kriticky mnoho, aby náhodou nedošlo na killer (neměla by to snad být jeho práce)?
Co takhle opravit tu aplikaci? Když jí OOM killer „zastřelí“, tak asi stejně nebude moc použitelná…Kdykoliv začne OOM killer střílet, se systémem je něco špatně a je mnohem produktivnější to řešit, než si přát přesnějšího OOM killera.nevím, jestli to není vytržené z kontextu, ale tak jak to stojí, tak bych řekl, že pisatel je s odpuštěním trouba - když je chyba v aplikaci (nebo třeba ani ne chyba, prostě jen zpracovává neobvykle velká data) a ta si naalokuje veškerou dostupnou paměť, takže systém jde do kytek, jak to podle něj mám řešit, to mám tu aplikaci přestat používat a odinstalovat, aby náhodou nedošlo na killer? nebo si mám napsat vlastního démona, který bude hlídat paměť a sestřelí, co jí žere kriticky mnoho, aby náhodou nedošlo na killer (neměla by to snad být jeho práce)?
sshd
).
echo $oom_value > /proc/$$/oom_adj
jen protoze kernel neni schopny pochopit, ze ma killnout proces, ktery za posledni okamzik nejvic narostlNepovede tenhle postup k zabití poslední spuštěné aplikace, nebo k zabití X, pokud oním zlobivým procesem je nějaká GUI aplikace? Případně vybije všechno možné, ale trvale rostoucího bumbrlíčka nechá na pokoji?
když je chyba v aplikaci (nebo třeba ani ne chyba, prostě jen zpracovává neobvykle velká data) a ta si naalokuje veškerou dostupnou paměť, takže systém jde do kytek, jak to podle něj mám řešit, to mám tu aplikaci přestat používat a odinstalovat, aby náhodou nedošlo na killer?Pokud aplikace zpracovává neobvykle velká data a dojde paměť, tak "je se systémem něco špatně", protože jsi tam nedal dost paměti. Je produktivnější to řešit (přidat paměť), protože jinak se situace pravděpodobně bude opakovat. A ne, nemáš ji přestat používat, aby na killera náhodou nedošlo, ale máš potom zjistit, co se stalo a pokusit se tomu nějak předejít. OOM killer je jenom nouzový prostředek, který má napravovat chyby někoho jiného - mnohem efektivnější, než vylepšovat OOM killer, je podle mě věnovat čas na opravu těch chyb.
Pokud aplikace zpracovává neobvykle velká data a dojde paměť, tak "je se systémem něco špatně", protože jsi tam nedal dost paměti. Je produktivnější to řešit (přidat paměť), protože jinak se situace pravděpodobně bude opakovat.jenomže dopředu to obvykle nevím - ano, až to zjistím, mohu paměť dokoupit, jenomže mezitím jaksi potřebuju něco, aby zasáhlo právě v ten okamžik, kdy problém nastane; můj počítač totiž jaksi nepodporuje hotswap pamětí, nehledě na to, že bych s ním třeba chtěl ještě něco udělat než do toho krámu pro tu paměť poběžím atd.
A ne, nemáš ji přestat používat, aby na killera náhodou nedošlo, ale máš potom zjistit, co se stalo a pokusit se tomu nějak předejít. OOM killer je jenom nouzový prostředek, který má napravovat chyby někoho jiného - mnohem efektivnější, než vylepšovat OOM killer, je podle mě věnovat čas na opravu těch chyb.ta myšlenka nebyla tak úplně dokončená, měl jsem ještě říct, že takhle bych mohl odinstalovat celý systém
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.