Portál AbcLinuxu, 7. května 2025 17:27
ReiserFS jablkem sváru. Dokumentace k posílání patchů. Podpora ovládání teploty a frekvence CPU na iMac G5. Průvodce po git aktualizován.
16. zář - 4. říj
Hans Reiser požádal o začlenění Reiser4 do jádra 2.6 a zároveň se pokusil lidem poděkovat za komentáře a návrhy. Nakonec se však neudržel a začal vývojáře provokovat: Většina mých zákazníků říká, že kód v jádře nesahá kódu od Namesys ani po kotníky. Takže diskuze nevedla k ničemu. V jednu chvíli se po ostré výměně názorů ozval Christoph Hellwig:
Moc děkuji za neopodstatněné útoky, já končím.
Přestanu ti pomáhat s kontrolou kódu, protože je to úplně zbytečné. Většinu připomínek ignoruješ a ještě se pouštíš do osobních útoků.
Najdi si prosím na kontrolování kódu pro začlenění do jádra někoho jiného. Někoho, komu nebude vadit, že na něj zaútočíš, kdykoliv napíše mail. Předtím bys měl pravděpodobně opravit některé věci, o kterých jsem psal, a hlavně se zbavit všeho duplikovaného obecného I/O kódu. Nebo podrobně vysvětlit, proč ho potřebuješ, a svou implementaci opravit.
Andrew posbíral Christophovy připomínky a připojil je k záznamu o Reiser4 v seznamu změn -mm stromu, aby se na ně nezapomnělo.
26. zář - 4. říj
Během diskuze přijal Linus Torvalds patch a poznamenal:
Jen netechnická poznámka: sign-off řádky vypadají jakoby tento patch (nebo jeho dřívější verzi) napsal Kurosawa-san. Nebyl jsem si však jistý, takže jsem nic neměnil a patch má teď v gitu jako autora Paula.
Jestli je to špatně, tak prosím příště uchovejte informace o autorství tím, že na vrchu popisu bude "From: A U T or <author@mailbox.com>". Tím bude autorství jasné a nástroje to snadno zachytí.
Paul Jackson odpověděl:
Uhádl jsi. Tvoje netechnická poznámka byla přesná.
Andrew - proč se o tom nezmiňuje tvůj dokument "The perfect patch"? http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
Linusi - chtěl bys patch pro Documentation/SubmittingPatches, který by to zmínil?
Hmmm... nevidím v těch návodech ani "Acked-by" (vzal na vědomí). Asi bych to měl také zařadit do SubmittingPatches.
Škoda, že ten první řádek nezačíná "Author:" místo "From:". No jo,
vidím, že už to Andrew navrhoval, ale ty jsi odmítl (měl jsi ho
poslechnout ).
Linus reagoval:
To pravidlo "From:" mám už ve svých nástrojích hóódně dlouho a změna na "Author:" by akorát způsobila, že by přestaly fungovat, aniž bychom tím po technické stránce něco získali. A nejenom nástroje, protože Andrew není jediný, který to pravidlo From: dodržuje - "lidi" by přestali fungovat.
Takže bys musel nástroje upravit tak, aby fungovaly s obojím ("From:" i "Author:"). A já dávám přednost mírně špatně pojmenované věci, která je jednoznačná, před nějakým "buď X nebo Y", kde X je mírně chybné, ale akceptované, protože se častěji používá.
Je to jako unixové systémové volání "creat()". Jasně, dávalo by větší smysl doplnit tam to "e", ale ve skutečnosti by to nikomu nepomohlo.
Co se dokumentování "From:" týče - ano, to bychom asi měli. Používá se to dost často.
29. zář - 30. zář
Benjamin Herrenschmidt napsal:
Dokončil jsem experimentální podporu ovládání teploty a frekvence procesoru na iMac G5. Zatím jsem neimplementoval podporu pro jednoprocesorové desktopy založené na SMU (PowerMac9,1), ta bude muset trochu počkat (doufám, že ne moc dlouho, ale potřebuji, aby mě kontaktovali potenciální testeři, protože k tomu hardwaru nemám přístup). V tuhle chvíli by to mělo fungovat na PowerMac8,1 (iMacG5 rev A) a PowerMac8,2 (iMacG5 rev B).
VAROVÁNÍ: Jde opravdu jen o první pokus. Chybí detekce přehřátí, takže buďte opatrní. Ovladač zatím nemá sysfs rozhraní, není tedy možné číst teplotu. Ale ponechal jsem zapnuto ukecané logování do kernel logu, takže by mělo být vidět, co se s oběma kontrolními cykly zrovna děje (systémový se opakuje každých 5 vteřin, procesorový každou vteřinu). Napište mi prosím, jestli se chovají tak, jak by měly. Na mém iMac G5 rev A je cílová teplota CPU firmwarem nastavena na 78 stupňů Celsia, maximum je přibližně na 83 stupních. Když procesor zatížím, zvýší se teplota pomalu na 82 a pak se sníží a postupně ustálí na 78, zatímco ovladač pomalu zrychluje větráky.
Vlastní algoritmus je vytažený z Darwinu. Je to ale dost komplexní modifikovaná verze PID algoritmu, takže by si zasloužil zkontrolovat, jestli to mám všechno správně.
Ovládání teploty je zároveň součástí nové infrastruktury, kterou jsem napsal a pojmenoval "windfarm". Díky této infrastruktuře je možné celou věc rozdělit do několika modulů (i když zatím jsem vše testoval jen zakompilované v jádře). V budoucnu by mělo být možné portovat stávající ovladač pro teplotu na Desktop G5 a Xserver na novou infrastrukturu. Musí však být napsány příslušné senzorové a kontrolní moduly.
Lidem, kteří píší ovládání teploty pro jiné stroje (notebooky atd.), bych také doporučil používat tu novou infrastrukturu.
Ok, teď ty patche. Musíte je aplikovat ve správném pořadí. Zaprvé, všechno je oproti aktuálnímu stromu z git. Neručím za to, že by šly aplikovat i na něco staršího.
Nejdříve potřebujete patch, který je momentálně v -mm (a měl by být v 2.6.14):
http://gate.crashing.org/~benh/ppc64-smu-fix.diff
Pak můžete aplikovat patch, který přidává podporu cpufreq pro iMac G5 (a možná i na SMU založený desktop, to jsem netestoval):
http://gate.crashing.org/~benh/ppc64-fx-freq-scaling.diff
Pak aplikujte v tomto pořadí následující dva patche:
http://gate.crashing.org/~benh/ppc64-smu-partitions.diff
http://gate.crashing.org/~benh/ppc64-smu-thermal-control.diff
A je to. Povolte:
CONFIG_WINDFARM_SMU
a
CONFIG_I2C_PMAC_SMU
Pokud použijete moduly, možná budete muset celou sadu natáhnout ručně. Hlavně ten i2c SMU, který zatím není vyžadován.
29. zář - 4. říj
Jeff Garzik napsal:
Právě jsem aktualizoval KHGtG, aby obsahoval čerstvé fajnůstky z git-core, standardního SCM nástroje Linuxu:
http://linux.yyz.us/git-howto.html
Několik změn v git-core velmi usnadnilo práci s gitem, takže si nezapomeňte vývojový proces zopakovat.
Vítám komentáře, opravy a připomínky k tomu, co jsem zapomněl. Dokument z větší části odráží můj typický pracovní den a nebude asi moc užitečný mimo práci s jádrem.
Dave Jones odpověděl:
Píšeš...
$ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6 $ cd linux-2.6 $ rsync -a --verbose --stats --progress \ rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/ \ .git/
Což by mohlo být jen...
$ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6 $ cd linux-2.6 $ git pull
A podobné je to v další sekci. Git pull nepotřebuje parametr, když stahuje z repozitáře, který naklonoval.
Anton Altaparmakov poukázal na to, že ty dvě sady příkazů ve skutečnosti nejsou totožné: "git pull" například nestáhne Linusovy tagy, zatímco rsync stáhne všechno. Dave odpověděl: Aha. To jsem nevěděl. Dík. Bylo by fajn mít zkratku pro "stáhni všechno, ať nemusím vypisovat adresu". Něco jako 'git pull all'. Linus Torvalds poslal patch: Něco jako tohle? Až na to, že se tomu říká "git fetch --all" a je to pochopitelně totálně netestované.
V originálu Kernel Traffic 331 vyšla navíc ještě tato témata:
Tento článek vychází ze seriálu Kernel Traffic (http://www.kernel-traffic.org) a je zveřejněn pod licencí GPL verze 2.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.