Portál AbcLinuxu, 3. června 2025 14:10

Jaderné noviny 291

17. 1. 2005 | Robert Krátký
Články - Jaderné noviny 291  

Možné změny ve způsobu vývoje stabilních a nestabilních jader. Dynamicky definovaná hodnota HZ v 2.6. Kterou větev 2.6 používat. Debugovací nástroj usbmon; umístění debugovacího adresáře.

Do konference přišlo celkem 3430 emailů, nejvíce jich poslali Ingo Molnar, "K.R. Foley" a Lee Revell.

Možné změny ve způsobu vývoje stabilních a nestabilních jader, 108 e-mailů

1. pro - 16. pro

Christoph Lameter poslal pár vylepšení pro výkon chyb stránek, které se Linusovi líbily, ale řekl: Nechci to začleňovat před vydáním 2.6.10, ale líbí se mi to. Jeff Garzik se zeptal: Znamená to, že se 2.6.10 už blíží? A Andrew Morton odpověděl:

Ještě budeme potřebovat -rc3. A musím znovu projít seznam věcí, které tam oproti 2.6.9 nebudou. Poslední dobou jdeme dobře kupředu. S 2.6.10 to vypadá na polovinu až konec prosince.

Je třeba vydávat kvalitnější jádra než se nám podařilo s 2.6.8 a 2.6.9. A jedinou věcí, která nám s tím může pomoci, jsou delší stabilizační období.

Samozřejmě, nikdo nebude testovat -rc3, zatímco finální 2.6.10 otestuje milión lidí. Pokud to tak bude pokračovat, budeme se muset vážněji zabývat metodou 2.6.10.n.

A nebo začít střídat stabilní a nejistá vydání, takže 2.6.11 by bylo vydáním s novými funkcemi a dvouměsíčním vývojovým obdobím, kdežto 2.6.12 by bylo opravné vydání s vývojovým obdobím nějaké dva týdny. Lidi by tak věděli, že sudě číslovaná vydání jsou více stabilní.

Uvidíme. Všechno závisí na tom, kolik chyb dokážete opravit v následujících dvou týdnech ;).

Dynamicky definovaná hodnota HZ v 2.6, 126 e-mailů

11. pro - 22. pro

Andrea Arcangeli napsal:

Tento patch umožňuje při startu počítače dynamicky nastavit HZ pomocí parametru na příkazové řádce. Fungují hodnoty HZ=1000 HZ=100 HZ=333 a další (i když určité hodnoty mohou způsobit větší nebo menší posun v systémovém čase).

Mají vývojáři hlavní větve zájem tohle začlenit do 2.6? Lidi po mně chtějí, aby byla tato funkce portována na 2.6 (jak kvůli dávkám, tak kvůli šetření energií, kdy je možné stáhnout Hz na 80MHz). Uživatel by měl mít možnost si HZ určit tak, jak to bylo v 2.4-aa.

http://www.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.23aa3/9999_zzz-dynamic-hz-5.gz

Několik lidí by to uvítalo a Pavel Machek se zeptal, jak se patch projeví na výkonu. Andrea odpověděl: Nejedná se o měřitelný rozdíl. Con Kolivas podotkl (a Adrea souhlasil), že uživatelé na desktopu výhody tohoto patche nepocítí. Andrea uznal:

Jistě, pro desktop to není nutné. Důvodem, proč si o to někdo řekl, je to, že věci pro desktop naopak poškozují některé nedesktopové uživatele. V mém 2.4 stromě byla jako výchozí hodnota nastaveno HZ=1000, pokud byl jádru předán parametr "desktop" (abych mohl odpovídajícím způsobem snížit timeslice, aniž bych přišel o nice úrovně mezi 0 a +19).

Druhou oblastí, pro kterou tu funkci lidi chtějí, opět není desktop, nýbrž špičkový notebook s CPU zkroceným na 80MHz kvůli šetření energie.

Následovala poměrně dlouhá diskuze o potenciálních výhodách začlenění (nebo nezačlenění) Andreova patche a v jednu chvíli poznamenal Andrew Morton:

Zjevně existují notebooky, které vykazují značné zpoždění mezi startem ACPI spánku a faktickým šetřením energií. Ta 1ms probouzecí frekvence na těchto strojích výrazně zkrátí výdrž na baterie (zapomněl jsem přesná čísla - Len bude vědět).

Takže bych řekl, že to jednou budeme muset chtě nechtě udělat - nevím o jiném řešení kromě úplného zrušení tiků, což by do ostatních částí jádra zasahovalo daleko víc.

Měli bychom si ponechat volbu nastavení konstantní hodnoty HZ při kompilaci - to je snadné. Patch už to pravděpodobně umí.

Diskuze o výhodách nějakou dobu pokračovala, i když Andrewův příspěvek vypadal jako rozhodnutí ve prospěch patche. Poslední zajímavý kousek se objevil ohledně minimální možné hodnoty HZ, když Pavel napsal: Zkoušel jsem jednou HZ nastavit na 10 a nějaká #if pole v jádře mi v tom zabránila. Andrea odpověděl: Asi máš pravdu. Minimální hodnota bude HZ=12. Jsem si poměrně jistý, že jsem mohl jít až na 25; možná je absolutní minimum 12, ne 10.

Kterou větev 2.6 používat, 4 e-maily

16. pro

Maciej Soltysiak poznamenal:

Pokud vím, tak -ac strom by měl být ze všech jader nejstabilnější, ne?

-mm jsou naprosto nové věci
-bk stejné
-ck je experimentální

Ostatní jsou také experimentální.

Při pohledu na seznamy změn se pro všeobecné použití zdají nejrozumnější jádra -ac, která budu od 2.6.10 používat, dokud bude Alan tak hodný a bude pokračovat ve skvělé práci.

Přísahám, že nepoužiji 2.6.10 dokud Alan nevydá 2.6.10-ac1 :-).

Někdo řekl, že -mm od Andrew Mortona má možná ty nejnovější věci, ale přesto Andrew s rozvahou rozhoduje o vydání nových verzí a stabilita má na to rozhodování určitě vliv. Alan Cox napsal:

2.6.x-mm je jako to, co jsem dělal v 2.4-ac při začleňování nových věcí (stojí za zmínku, že 2.4-ac byl občas stabilnější než 2.4, takže i -mm může být stabilní).

-ac strom se snaží být dost konzervativní. Když začleňuji méně stabilní věci, protože je to nutné, dávám o tom zmínku do poznámek k vydání, abych lidi varoval, že jde o vydání spíše testovací.

Debugovací nástroj usbmon; umístění debugovacího adresáře, 14 e-mailů

19. pro - 23. pro

Pete Zaitcev napsal:

Tohle je usbmon, nástroj, který jsem dal dohromady, když už mě unavovalo přidávání dbg() a nepořádek v dmesg. Zatím jej používám k vyhledávání chyb v úložných USB zařízeních. Je užitečný, i když funkčnost je prozatím omezená.

Díval jsem se na Hardingův USBmon patch a myslím, že pár věci je tam dobrých. Hlavní z nich je, že jsem podcenil výhody ukládání speciálních souborů do jmenného prostoru souborového systému. Když jsme o tom s Gregem debatovali na letišti, shodli jsme se, že nejlepší by bylo mít nějaký socket podobný Netlinku. Rozhodl jsem se to předělat a připojit tyto sockety do jmenného prostoru (v současné době v /dbg, ale to lze změnit). Co tím získáme:

  1. cat(1): nikdy nepodceňujte. Velice užitečné. A netcat není tak docela totéž.
  2. USBmon userland v Javě. Jen se zkuste trochu vrtat v JNI jako já a uvidíte.

Pete zmínil ještě věci, které se v USBmon tolik nepovedly, a kvůli kterým nakonec všechno přepsal od začátku.

Greg KH byl nadšen a řekl, že to přidá do svého oficiálního stromu, jakmile mu Pete řekne, že je to hotové.

Nick Piggin se zeptal: Máte nějaký důvod, proč dávat debugovací filesystémy do kořenového adresáře? Proč ne /sys/debug, /sys/kernel/debug nebo něco podobného? Greg opáčil, že je mu to úplně jedno, ale Jeff Garzik napsal, že by měl někdo vybrat jedno místo, které by se pak používalo pořád. Greg odpověděl:

Pche, no dobře, vyrobte někdo pravidlo. Odolával jsem statečně :).

Nicméně, tady je patch, který jsem právě začlenil. Vytváří adresář /sys/kernel/debug (potřebujete malý patch, který exportuje správný subsys, aby to fungovalo - pokud někdo chce, pošlu ho také). Od teď můžete na tomto místě připojovat debugfs.

Tohle buď lidi nadchne nebo naštve - podle toho, jestli jsem vybral jejich preferované umístění. Ať tak nebo tak, já jedu na dvoudenní dovolenou, takže tu nebudu, abych poslouchal to řvaní...


V originálu Kernel Traffic 291 vyšla navíc ještě tato témata:

Tento článek vychází ze seriálu Kernel Traffic (www.kerneltraffic.org) a je zveřejněn pod licencí GPL verze 2.

Související články

Jaderné noviny 288
Jaderné noviny 289
Jaderné noviny 290

Odkazy a zdroje

Kernel Traffic #291

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

Jaderné noviny – přehled za duben 2025
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

Diskuse k tomuto článku

17.1.2005 01:07 Ctirad Feřtr | skóre: 43 | Praha
Rozbalit Rozbalit vše HZ
Odpovědět | Sbalit | Link | Blokovat | Admin
Mohl by mi někdo vysvětlit, jak je to HZ udělané ? On PC hardware slutečně obsahuje nějaký timer, který takhle pružně programovatelný (případně je tento v nějakém vztahu k rtc) ? A pokud ano, jak je to řešené na platformách, které nic takového nemají ?
17.1.2005 15:23 David Jež | skóre: 42 | blog: -djz | Brno
Rozbalit Rozbalit vše Re: HZ
HZ je udelane tak, ze je to frekvence systemoveho casovace, na PeCce je to casovac 1 ktery generuje preruseni 8 a 0Ch. Pouziva se pro kde co, napriklad pro casovani :-). Nastavitelne je to defakto dosti volne, treba v DOSu fungujes na nejakych 18.neco Hz. To je ale prekvapeni, ze PeCka obsahuje dokonce nekolik casovacu... Casovace maji dokonce i mikrokontrolery, treba malicka Motorola Nitron. O architekture a casovacich pojednava snad kazda kniha, k PC jich je hafo (napr. PC v tabulkach, sysman...) A co se tyce platforem ktere nemaji casovac, tak AFAIK na kulickovem pocitadle Linux urcite nejede, takze neni co resit :-).
-djz
"Yield to temptation; it may not pass your way again." -- R. A. Heinlein
17.1.2005 16:32 lubos
Rozbalit Rozbalit vše Re: HZ
Jak je mysleno setreni energie stahnutim na 80Mhz v kontextu popsane diskuse ? Setri se energie kde ? Procesor snad ne, nebo ano ?
17.1.2005 17:30 Michal Kubeček
Rozbalit Rozbalit vše Re: HZ
Proč ne? Mně třeba změnou frekvence Athlon64 3500+ z 2.2 GHz na 1.0 GHz klesne spotřeba počítače v klidovém stavu o nějakých 20 procent.
17.1.2005 18:32 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: HZ
a me zmenou frekvence na P4 z 2.6Ghz na 325Mhz neklesne spotreba ani o tuk ;-) .... i kdyz stejnak tu p4 clock modulation nechapu ...to ma delat presne to hle ...zmenu nejakych ticku? (nemyslim zmenu fsb)
Urine should only be green if you're Mr. Spock.
Luboš Doležel (Doli) avatar 17.1.2005 18:41 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: HZ
I když je otázka, proč tu energii šetřít - je s tím jenom více práce/problémů a opravdovou cenu to má asi jen u notebooků.
18.1.2005 01:17 Michal Kubeček
Rozbalit Rozbalit vše Re: HZ
Energie za to možná tolik nestojí, ale smysl to má třeba kvůli teplotě. Při nezatíženém počítači (otevřený case) mám teď teplotu procesoru okolo 37 stupňů při 2.2 GHz, po nastavení na 1.0 GHz je to okolo 28 stupňů. Při zavřeném case nebo jiné teplotě místnosti by čísla samozřejmě byla jiná, ale ten rozdíl je podle mne celkem zřetelný.
17.1.2005 19:39 Sinuhet
Rozbalit Rozbalit vše Re: HZ
Mno, mé znalosti o vnitřnostech linuxu jsou mlhavé, ale to by snad nemělo být totéž. HZ přeci nereguluje procesor, ale nastavuje časovač. Tím se ovládá např. rychlost přepínaná procesů a vláken.
18.1.2005 00:56 Michal Kubeček
Rozbalit Rozbalit vše Re: HZ
Já přeci netvrdil, že je to totéž. Ale odpovídal jsem na příspěvek, kde se kolega ptal na stáhnutí frekvence na 80 MHz u notebooků. A to téměř jistě nebude frekvence scheduleru. Proto se má odpověď také týkala nastavení frekvence procesoru.

Důvod, proč se v článku vůbec mluvilo o frekvenci procesoru, je IMHO v tom, že snížíte-li frekvenci procesoru na 80 MHz a frekvenci scheduleru necháte na 1000 Hz, dostanete 80000 taktů na přerušení, což by za určitých okolností nemuselo stačit ani na nezbytnou režii systému. Linux se sice používal i na pomalejších procesorech než 80 MHz (já s ním začínal na 386DX40), ale tehdy se pro scheduler používalo (na ix86) 100 Hz (a dost možná byla tehdy režie systému menší).

18.1.2005 09:40 lubos
Rozbalit Rozbalit vše Re: HZ
Ja jsem spatne formuloval otazku :) Nemyslel jsem jim stahovani frekvence procesoru primo nebo v kontextu setreni energie. Tohle je mi davno zname. Chtel jsem jenom vedel proc tohle (jestli se takhjle nadodou neda snizit frekvecne procesoru kde to jinak nejde :). Ale uz vim ... dik :)
18.1.2005 00:11 Ctirad Feřtr | skóre: 43 | Praha
Rozbalit Rozbalit vše Re: HZ
Nastavitelne je to defakto dosti volne, treba v DOSu fungujes na nejakych 18.neco Hz.
Dosti volně znamená přesně co ? To je právě to, co jsem se chtěl dozvědět.
O architekture a casovacich pojednava snad kazda kniha, k PC jich je hafo (napr. PC v tabulkach, sysman...)
Až budu chtít napsat diplomovou práci, rád si tyto knihy seženu a prostuduju, ale bohužel pro mě jsem chtěl jenom pro zajímavost nějaké shrnutí typu: PC železo obsahuje X čítačů, přičemž tyto jsou programovatelné v rozsahu Y-Z...
A co se tyce platforem ktere nemaji casovac, tak AFAIK na kulickovem pocitadle Linux urcite nejede, takze neni coresit :-).
Nikdo nemluví o hardware bez časovačů (to by snad ani nemohlo fungovat). Jde o to, že ty časovače jsou obvykle na různých platformách různé a časy bývají nastavené napevno nebo maximálně přepínatelné v násobcích nějaké základní frakvence (prostě krystal o základní frekvenci + čítač/dělička). Jsem prostě zvědavý, zda-li PC hardware skutčně obsahuje časovač, který mi vyvolá přerušení třeba každých 159Hz nebo je to nějaký softwarový trik, jako například u emulátorů Atari ST, které řeší všelijak emulaci hojně používaného 200Hz timeru C.
18.1.2005 00:27 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: HZ
Však jsem ti už odpověděl hledej dokumentaci k
V PC je kopie obvodu INTEL v XT byl obvod 8253 v AT byl 8254 případně jeho kopie v obvodu periferií 82C206.
Samozřejmě většina nových IO má větší rozsah v rychlostech.

Viz třeba 82C206

Nebo 8254
18.1.2005 00:36 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: HZ
Description

The Harris 82C54 is a high performance CMOS Programmable Interval Timer manufactured using an advanced 2 micron CMOS process. The 82C54 has three independently programmable and functional 16-bit counters, each capable of handling clock input frequencies of up to 8MHz (82C54) or 10MHz (82C54-10) or 12MHz (82C54-12). The high speed and industry standard configuration of the 82C54 make it compatible with the Harris 80C86, 80C88, and 80C286 CMOS microprocessors along with many other industry standard processors. Six programmable timer modes allow the 82C54 to be used as an event counter, elapsed time indicator, programmable one-shot, and many other applications. Static CMOS circuit design insures low power operation. The Harris advanced CMOS process results in a significant reduction in power with performance equal to or greater than existing equivalent products.
17.1.2005 22:58 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: HZ
V PC je kopie obvodu INTEL v XT byl obvod 8253 v AT byl 8254 případně jeho kopie v obvodu periferií 82C206.

Samozřejme dneska je ten obvod integrován v čipových sadách.

Čítač 0 se používal ke generování IRQ 0 pro hodiny reálného času, (impulzy 18,2 Hz) čítač 1 byl použit ke generování požadavku o refreš pamětí DRAM, no a čítač 2 se používal pro generování tonu z reproduktorku.

Jinak adresy:
40H -> datový registr čítače 0
41H -> datový registr čítače 1
42H -> datový registr čítače 2
43H -> řídící registr
Jinak jako paralelní port je použita kopie 8255A dnes už zmodernizovaná takže umí další mody práce atd....tak stejně DMA 8237, IRQ 8259, a další prostě tyto obvody byly zmodernizovány a integrovány do čipové sady takže dnes už tam jednotlivé obvody nenajdeme, ale většinou se dají naprogramovat na stejnou funkci jako původní obvody. :-)
18.1.2005 01:18 jaroslav matejicek
Rozbalit Rozbalit vše Re: HZ
pouze doplnim:
- vsechny citace se k temto ucelum stale pouzivaji proto minuly cas neni na miste

- s citacem 1 se nedoporucuje si hrat protoze to vetsinou vede k padu systemu

- citac 2 se pouzival ke generovani tonu jen nekdy - pred reproduktorem je jeste jedno hradlo kterym jde vystop na rep. vypnout a vetsinou se udrzuje vypnuty a casovac se pouziva k jinym ucelum

- ...ale většinou se dají naprogramovat na stejnou funkci jako původní obvody. - vzdy se daji naprogramovat na stejnou funkci. je to radne "zadokumentovana" funkce a jakmile intel nejakou funkci "zadokumentuje" garantuje ze bude pouzitelna ve vsech novejsich pocitacich x86

18.1.2005 10:49 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: HZ
pouze doplnim:
- vsechny citace se k temto ucelum stale pouzivaji proto minuly cas neni na miste

- s citacem 1 se nedoporucuje si hrat protoze to vetsinou vede k padu systemu

- citac 2 se pouzival ke generovani tonu jen nekdy - pred reproduktorem je jeste jedno hradlo kterym jde vystop na rep. vypnout a vetsinou se udrzuje vypnuty a casovac se pouziva k jinym ucelum

Já jsem byl v domění že už se používá pouze časovač 0 že časovač 1 pro paměti se již nepoužívá že se o to starají jiné obvody moderních řadičů ram a časovač 2 že už taky není protože některé desky již nemají reproduktorek - mají integrované zvukovky přímo na sobě.

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