Portál AbcLinuxu, 5. května 2025 23:46

Jaderné noviny - 15. 10. 2008

21. 11. 2008 | Jirka Bourek
Články - Jaderné noviny - 15. 10. 2008  

Aktuální verze jádra: 2.6.27. Citáty týdne: Andrew Morton, Linus Torvalds, Adrian Bunk. Začleněno do 2.6.28. Bloková vrstva: Disky bez pohyblivých částí; Afinita požadavků; Obsluha vypršení časového limitu; Další změny v rychlosti.

Tento článek je překladem z anglického originálu, a proto vychází se zpožděním.

Obsah

Aktuální verze jádra: 2.6.27

link

Jádro 2.6.27 je venku, Linus ho vydal 9. října. Pro ty, kteří si nás právě naladili, 2.6.27 obsahuje (mezi mnoha dalšími věcmi) UBIFS, podporu pro testování integrity v blokové vrstvě, vícefrontové síťování, sledovací framework ftrace, bezzámkovou cache stránek, přemístění spousty firmwarů, sadu ovladačů pro webkamery GSPCA, mnoho rozšířených systémových volání. Vizte jako vždy excelentní shrnutí na KernelNewbies, kde o tomto vydání najdete mnohem více informací.

V současnosti je otevřeno začleňovací okno 2.6.28, v době psaní tohoto článku je začleněno okolo 4100 sad změn. Vizte článek níže, ve kterém najdete shrnutí změn, které byly v tomto vývojovém cyklu do jádra začleněny.

Současná stabilní jádra jsou 2.6.25.18 a 2.6.26.6, která byla vydána 8. října. Obě obsahují dlouhý seznam důležitých oprav v celém jaderném stromě.

Citáty týdne: Andrew Morton, Linus Torvalds, Adrian Bunk

link

aah, hodně se mi líbí err_ick a err_fck. Zní jako komentáře ke kódu od akpm na konci dlouhého dne.

-- Andrew Morton

Prostě by sis měl pořídit skutečné jméno, ne ten "John Smith" nesmysl. Nějaké mužné. Nějaké unikátní. Nějaké silné. Nějaké, které říká, že nejsi jenom prostě další klon.

Něco jako "Linus Torvalds". Až na to, že ne přesně tohle.

-- Linus Torvalds (Díky Matthewovi Burgessovi)

On Tue, 14 Oct 2008, Jean Delvare wrote:
>
> Marek Vasut (1):
>       i2c/tps65010: Vibrator hookup to gpiolib

Chlapi, vím, že my geekové nejsme vyhlášení svým sexuálním životem, ale musíme na to tak upozorňovat?

-- Linus Torvalds (díky Davidu Langovi a Walterovi Franzinimu)

2.6.16 trochu zestárlo, takže následujících pár let budu udržovat jako náhradu 2.6.27.

Stejně jako u 2.6.16 převezmu údržbu poté, co skončí běžná správa -stable teamem (nějaký čas poté, co bude v lednu vydáno 2.6.28).

Mým záměrem je zaplnit niku pro uživatele, kteří nepoužívají distribuční jádra, ale kteří chtějí delší dobu používat jádro bez regresí. Může to být malá část uživatelské základny, ale po zkušenostech s 2.6.16 můžu říci, že je docela dost uživatelů, kteří takovou nabídku oceňují.

-- Adrian Bunk

Začleněno do 2.6.28

link

V době psaní tohoto článku bylo do jádra 2.6.28 zahrnuto 4193 neslučovacích [non-merge] sad změn. Jinými slovy je začleňovací okno teprve na začátku, začleněna byla pravděpodobně méně než polovina ze všech patchů, které si najdou svou cestu do hlavní řady. Co vidíme, je spousta ovladačů a inkrementálních zlepšení, ale žádné velké změny.

Změny viditelné pro uživatele zahrnují:

Změny viditelné pro vývojáře jádra zahrnují:

Začleňovací okno pravděpodobně zůstane otevřené do přibližně 24. října.

Bloková vrstva

link

V začleňovacím okně 2.6.28 jsme mohli vidět přidání mnoha změn do blokové vrstvy. Zde je shrnutí nových vlastností a API, která se dostala dovnitř.

Disky bez pohyblivých částí

link

Je zde několik vylepšení zaměřených na zlepšení jaderné podpory úložných zařízení bez pohyblivých částí [solid-state]. Jedno z nich - vyřazovací API - zde bylo pokryto dříve. Toto API umožňuje vysokoúrovňovým uživatelům blokového subsystému (souborovým systémům) oznámit, že daný rozsah bloků již neobsahuje užitečná data. To umožňuje nízkoúrovňovému zařízení zahrnout tyto bloky do svého schématu sběru odpadu [garbage collection] a přestat se obávat o jejich obsah, když se provádí vyrovnávání opotřebení.

Od původního článku se nicméně toto API trochu změnilo. Požadavek na vyřazení se nyní vyšle takto:

int blkdev_issue_discard(struct block_device *bdev, sector_t sector,
                         unsigned nr_sects);

Parametr end_io(), který byl k vidění v předchozí verzi API, již není přítomen. Pro volajícího již neexistuje způsob, jak zjistit, kdy byl požadavek dokončen, nebo jestli byl vůbec dokončen. Vzhledem k tomu, že volající naznačuje, že o dané sektory nemá zájem, skutečně by nemělo záležet na tom, co zařízení udělá.

Pro vytváření požadavků na vyřazení je zde funkce na úrovni souborového systému:

static inline int sb_issue_discard(struct super_block *sb,
                                   sector_t block, 
                                   unsigned nr_blocks);

Zde rozhraní očekává čísla bloků používající velikost bloku souborového systému místo 512B sektorů.

Programy v uživatelském prostoru mohou zadat požadavek na vyřazení novým ioctl() voláním BLKDISCARD. Není třeba říkat, že tato operace by měla být prováděna opatrně; v podstatě jediný uživatel, který má důvod toto ioctl() použít, jsou mkfs programy.

Blokové ovladače, které podporují požadavky na vyřazení, poskytnou vhodnou funkci blokové vrstvě:

typedef int (prepare_discard_fn) (struct request_queue *queue,
                                  struct request *rq);

void blk_queue_set_discard(struct request_queue *q, 
                           prepare_discard_fn *dfn);

V případě, že není přítomna funkce "připravit vyřazení", požadavky na vyřazení u daného zařízení selžou.

Bloková vrstva také přidává příznak, který indikuje, že zařízení není rotující disk a tím pádem netrpí zpožděním při posunu hlaviček [seek]. Nastavením QUEUE_FLAG_NONROT (pomocí queue_flag_set() nebo queue_flag_set_unlocked()) řekne ovladač blokové vrstvě, že pracuje se zařízením bez rotujících částí. I/O plánovače mohou tuto informací využít a nepřipojit se do fronty - technika kombinování požadavků, užitečná u rotujících úložných zařízení, je zcela zbytečná, když není žádný postih, kterému by bylo potřeba se vyhnout.

Afinita požadavků

link

Na velkých multiprocesorových systémech může mít pozitivní vliv na výkonnost, když se zajistí, že jsou veškeré blokové I/O požadavky zpracovány jedním CPU. Konkrétně data spojená s daným požadavkem budou pravděpodobně k nalezení v cache CPU, ze kterého požadavek pochází, takže má smysl ho zpracovávat na stejném CPU. Ve 2.6.28 budu záznamy pro bloková zařízení v sysfs obsahovat proměnnou rq_affinity. Pokud je nastavena na nenulovou hodnotu, bude pro toto zařízení zapnuta afinita k CPU. Podle changelogu patche může zapnutí této vlastnosti u některých benchmarků omezit systémový čas o 20-40 %.

Obsluha vypršení časového limitu

link

Robustní ovladače zařízení typicky musí být napsány tak, aby zvládly případy, kdy se zařízení nepodaří dokončit operace, které mělo vykonat. V několika případech s tímto úkolem pomáhá kód na vyšší úrovni; síťová vrstva například může sledovat odcházející pakety a oznámit ovladači, když vysílací operace trvá příliš dlouho. Ve většině ostatních případů je však na ovladači samotném, aby si takového stavu všiml.

Stejně jako síťový subsystém i bloková vrstva spravuje fronty požadovaných operací. Od 2.6.28 bude mít bloková vrstva, opět podobně jako síťování, mechanismus pro upozornění ovladačů na časové limity požadavků; to umožní odstranit z nižších vrstev mnoho kódu spojeného s časovými limity. Obsluha časových limitů v blokové vrstvě nicméně může být komplexnější a tato komplexita se odráží v příslušném API.

Blokové ovladače musí registrovat funkci, která řeší požadavky, jimž vypršel limit:

typedef enum blk_eh_timer_return (rq_timed_out_fn)(struct request *);

void blk_queue_rq_timed_out(struct request_queue *q, 
                            rq_timed_out_fn *fn);

Doba, po kterou má požadavek platit, než mu vyprší limit, se nastaví:

void blk_queue_rq_timeout(struct request_queue *q, 
                          unsigned int timeout);

Sledování limitů pro každý požadavek se provádí v blokové vrstvě; časovač pro jednotlivý požadavek je spuštěn, když je tento I/O plánovačem předán ovladači. Pokud není požadavek dokončen před vypršením časového limitu, zavolá se timeout funkce s ukazatelem na umdlévající požadavek. Ovladač může poté udělat jednu z následujících tří věcí:

Když věci vypadají špatně, ovladač se může rozhodnout, že zruší všechny stávající požadavky, vyresetuje zařízení a začne znovu. S tímto úkolem může pomoci pár nových funkcí:

void blk_abort_request(struct request *req);
void blk_abort_queue(struct request_queue *q);

Tyto funkce zruší daný požadavek nebo všechny požadavky ve frontě podle toho, co je vhodné. Součástí tohoto procesu je volání obsluhy vypršení časového limitu v ovladači pro každý zrušený požadavek.

Další změny v rychlosti

link

Další změny v blokové vrstvě zahrnují:

Ve shrnutí jde v blokové vrstvě o jeden z rušnějších vývojových cyklů v současné době.

Související články

Jaderné noviny - 8. 10. 2008
Jaderné noviny - 1. 10. 2008
Jaderné noviny - 24. 9. 2008
Jaderné noviny - 17. 9. 2008

Odkazy a zdroje

Kernel coverage at LWN.net: October 15, 2008

Další články z této rubriky

Jaderné noviny – přehled za březen 2025
Jaderné noviny – přehled za únor 2025
Jaderné noviny – přehled za leden 2025
Jaderné noviny – přehled za prosinec 2024
Jaderné noviny – přehled za listopad 2024

Diskuse k tomuto článku

CIJOML avatar 21.11.2008 00:43 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Odpovědět | Sbalit | Link | Blokovat | Admin
Jen bych upozornil, ze do 2.6.27.6 byly pridany patche, ktere ve zkratce zajistuji 100% suspend/resume do ram i pameti na vsech notasech, ktere mam k dispozici :) Aneb z*****y buggy BIOSy AMI a Phoenix...
21.11.2008 01:31 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Na noťasech je mi to k ničemu - žádné nemám. Kéž by někdo přidal patche, které by zajistily 100% suspend/resume na desktopu pokud možno bez tuxonice...
Quando omni flunkus moritati
Karry avatar 21.11.2008 03:27 Karry | skóre: 10
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Zapoměl jsi dodat, že ty patche byly přidány do TuxOnIce 2.6.27.6 stromu... Ale dost remcání.. hlavně že mi to na mém Aceru chodí ;) (...s TuxOnIce)
unzip; strip; touch; grep; finger; mount; fsck; more; yes; umount; sleep
Luboš Doležel (Doli) avatar 21.11.2008 10:38 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Přešel jsem na 2.6.27.6 z 2.6.26 a do té doby funkční resume se mi totálně rozbilo. A na šrot je tak trochu i iwlwifi.
CIJOML avatar 21.11.2008 10:49 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
u me testovano na EEE 901, HP Compaq 6910p, Acer TravelMate 242 a nekolika dalsich co sem kompiloval jadro kamaradum 100% funkcni. Zkus 2.6.27.7 kde jsou nejake dalsi patche na ACPI....
Luboš Doležel (Doli) avatar 22.11.2008 12:46 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Zkusil jsem 2.6.27.7, BIOS mám aktuální. Jednou se to probudilo, ale příště to bylo zase to samé.
CIJOML avatar 23.11.2008 14:44 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
tak potom bugzilla.kernel.org a zkusit bisectnout jadro
CIJOML avatar 21.11.2008 10:54 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
BTW co pouzivas za metodu pro suspend? echo disk > /sys/power/state a echo mem > /sys/power/state ??? Nebo neco jineho?
Luboš Doležel (Doli) avatar 21.11.2008 11:39 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
To druhé a je to na Compaq 8710p. Po probuzení je monitor černý a jádro mrtvé.
CIJOML avatar 21.11.2008 13:29 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
zkus to i na disk. Pouzivas in-kernel suspend nebo tuxonice?
Luboš Doležel (Doli) avatar 21.11.2008 15:32 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Používám in-kernel suspend.
Jakub Lucký avatar 21.11.2008 13:23 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Nesouvisí to s tímhle bugem?

Já ho mám taky: bug
If you understand, things are just as they are; if you do not understand, things are just as they are.
Luboš Doležel (Doli) avatar 21.11.2008 15:33 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
No, u mě nejde jen o unblank, to jádro je vážně zabité.
Jakub Lucký avatar 21.11.2008 16:41 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
u mě to taky nereaguje na nic... teda aspoň se mi z něj nepovedlo nic vymámit (reboot pomocí ctrl+alt+delete) apod...

A jestli máš nějakého Ťinkpada...
If you understand, things are just as they are; if you do not understand, things are just as they are.
21.11.2008 20:36 Peter Lehotsky | skóre: 26 | Prague
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Hibernace a suspend na Ťinkpadech (X, R a T) funguje bez nejmensich problemu, jedine co nefunguje je kombinace s opensource nv driverem.
Jakub Lucký avatar 22.11.2008 10:13 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Ne pokud máte to príma bugové jádro, jinak teda ano...

viz myslím výše...
If you understand, things are just as they are; if you do not understand, things are just as they are.
Jesus Jimenez avatar 24.11.2008 23:31 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008

Tak uz mi zverejnite konfiguraky? Prosim :) Abych si uzil tu plne fungujici hibernaci na TP R61 s NVidia Quadro NVS 140M (driver 177.82) @ 2.6.27.7 (vyzkousena jadra nejruznejsi vanilla jadra od 2.6.26 versus nejruznejsi drivery grafiky) a pri resume z hibernace je vzdy zhruba 45 vterinovy blackout.

Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
25.11.2008 20:19 Peter Lehotsky | skóre: 26 | Prague
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008

Nejak neni cas, mozna pod stromecek :-)

Jesus Jimenez avatar 26.11.2008 00:14 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
No super ;)
Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
Jakub Lucký avatar 25.11.2008 20:32 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Nevím co máte za distro, ale jádro které je v Debianu až na aktuální bug funguje dobře (má funkční verze: 2.6.26-8)... To funguje velmi dobře...
If you understand, things are just as they are; if you do not understand, things are just as they are.
Jesus Jimenez avatar 26.11.2008 00:21 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008

Arch, vanilla kernel 2.6.27.7. Jenze jak koukam k vam na blog, provozujete to nejspis na T61. Ja na R61, takze at uz je podobnost techto dvou kousku jakakoli, nema to pro me v tuto chvili vase zkusenost s hibernaci T61zadny vyznam. Ta NVidia je proste tragedie, mel jsem si poridit integrovanyho Intela ;)

 

Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
Jakub Lucký avatar 26.11.2008 16:26 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
na T61 i R61 suspend běží i s Nvidií...

Na thinkwiki je několik návodů pro různé distribuce, ve kterých to funguje (viz např: http://www.thinkwiki.org/wiki/Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_R61 )
If you understand, things are just as they are; if you do not understand, things are just as they are.
Jesus Jimenez avatar 26.11.2008 21:31 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008

Na thinkwiki je spousta navodu, ktere nefunguji. Az se najde nekdo, komu funguje hibernace (nikoli suspend) current verze Archlinuxu na TP R61 8918DFG, prohlasim se verejne za lamu ;)

Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
Jakub Lucký avatar 26.11.2008 23:24 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
IMHO je to ale jen potíž Archu... (Nebo kombinace Arch + neznalost správného postupu)

Ono celé to ACPI a věci s ním spojené jsou jedna velká černá mažie... Funguje to třeba jen když se svléknete, 3x obtancujete počítač a pak rituálně obětujete jedno instalační DVD Win Vista...
If you understand, things are just as they are; if you do not understand, things are just as they are.
Jesus Jimenez avatar 27.11.2008 15:48 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008

Distro menit nehodlam, tancuju priserne a DVD WinVista nevlastnim... Muzeme to prohlasit za bugfix? :-D

Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
22.11.2008 11:06 snajpa | skóre: 20 | blog: snajpuv_blocek | Brno
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Zajimavy, tohle presne se mi deje na Asusu X51L, blank screen a nereaguje na klavesy, podle grafu downloadu v siti umre uplne. Stava se to kdyz zavru viko (zadnou akci pri zavreni nemam nastavenou), nebo kdyz odpojim adapter. Nekde jsem cetl, ze je to chyba v biosu, ale kdyz vidim ze to dela i jinym s jinym HW... ach jo.
--- vpsFree.cz --- Virtuální servery svobodně
CIJOML avatar 22.11.2008 11:47 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
BIOS je vhodne updatovat na posledni verzi predtim nez nahlasis bug
21.11.2008 09:53 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Odpovědět | Sbalit | Link | Blokovat | Admin
Hmm, a kdo je to ten Marek Vasut?
Táto, ty de byl? V práci, já debil.
21.11.2008 10:14 Xerces
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Ten co hraje s Osvaldovou.
21.11.2008 16:21 Marex
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Ten to nebude ... to muzu potvrdit, protoze se znam dost dobre ;-)
21.11.2008 17:19 Yokotashi
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Odpovědět | Sbalit | Link | Blokovat | Admin
Major = hlavni, minor = vedlejsi. Kdyz uz tyto terminy chcete prekladat, nedelejte to prosim tak, jako v RedHat 5.2.
Bluebear avatar 21.11.2008 23:15 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Ale no tak, nebud takovy morous... vzdyt hlaska "Spatne vetsi ci mensi cislo zarizeni" je roztomila :-)

(I kdyz uznavam, ze na nesmrtelny MS Word a jeho vyber razeni stranek "predni dozadu" nebo "zadni dopredu" to nema :-) )

A to mam kliku, ze dnes uz malokdo pamatuje Amos Basic a hlasku "Nedefinovana duha", kterou jsem vyprasil osobne ;-)
To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
22.11.2008 23:15 Jary | skóre: 30 | blog: Jary má blog | Dům
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Duha?
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky. GitHub
13.12.2021 10:26 geebranz
Rozbalit Rozbalit vše Re: Jaderné noviny - 15. 10. 2008
Odpovědět | Sbalit | Link | Blokovat | Admin
Public service

storageshedstacoma.com

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.