Portál AbcLinuxu, 18. července 2025 16:53
Dodržování pravidel SysFS. Swap soubory vs. swap oddíly. Nový ovladač Apple USB touchpadu pro nové PowerBooky. BootUtils 0.0.5.
28. črv - 8. črc
Christoph Hellwig poznamenal:
drivers/message/i2o/config-osm.c má funkci sysfs_create_fops_file, která vytváří sysfs soubor s dodanými file_operations. To se neshoduje s designem sysfs, který požaduje pouze jednoduché atributy - ASCII nebo, ve výjimečných případech, binární.
Kromě toho, pokud bude tento kód začleněn, měl by být přesunut do sysfs. A měl by přestat používat lookup_hash přímo (místo toho by měl používat lookup_one_len), protože bude brzy odstraněna.
Markus Lidel odpověděl:
Zaprvé, ty atributy poskytované jmenovanými funkcemi slouží pro přístup k firmwaru... Řadič má malé omezení - zvládne pouze 64 bloků, ale sysfs má jen 4k.
Takže jsou dvě možnosti:
První možnost není dle mého názoru moc dobré řešení, protože 64k blok by musel být zapsán 16krát.
Samozřejmě, přijde-li někdo na lepší řešení, rád si o tom poslechnu.
Greg KH řekl: Použij rozhraní sysfs pro binární soubory. Bylo napsáno přesně pro tento účel :). Markus to zkusil, ale napsal: Nezjistil jsem, jak zvýšit velikost bloku na více než 4k. Mohl bys mi prosím říct, jak to nastavit, nebo kde bych si o tom mohl přečíst? Greg odpověděl:
Tvému kódu by mělo být jedno, jaká je velikost bloku dat, který dostáváš, protože z uživatelského prostoru by mohly přicházet třeba po 1 bajtu. Vytvoř vlastní buffer a pak data na zařízení zapiš, až to bude potřeba.
Ale jestli to děláš kvůli firmwaru, pak prosím použij rozhraní jádra pro firmwary, protože to udělá všechno bufferování za tebe.
Ať tak nebo tak, mít v sysfs vlastní file_ops není povoleno.
Markus odepsal, že Gregovo řešení je o hodně komplexnější a vyžádalo by si daleko více kódu. Greg zkusil ještě párkrát poradit, ale nic z toho Markusovi nevyhovovalo a vlákno skončilo.
28. črv - 13. črc
Mike Richards se zeptal, jestli je nějaký rozdíl mezi používáním swap souboru a swap oddílu. Andrew Morton odpověděl: V 2.6 jsou stejně spolehlivé, a pokud není swap soubor silně fragmentovaný, budou mít i stejný výkon. Mike napsal:
Jestli si najdeš čas, tak mám ještě tři otázky:
Na první otázku Andrew odpověděl: 2.4 je slabší: musí při swapout alokovat paměť z hlavního stránkového alokátoru. 2.6 se tomu vyhne. A ke třetí otázce Andrew řekl, že vytvoření swap souboru na žurnálovacím filesystému výkon nijak negativně neovlivní: Při zapnutí swapu [swapon] jádro vygeneruje mapu swap offset -> diskové bloky a tu od té chvíle používá k provádění swapovacího I/O přímo proti diskové frontě, čímž vynechává všechno kešování, metadata a kód filesystému.
O druhé otázce, ohledně fragmentace, Andrew řekl: Swap soubor vytvoř, když je filesystém ještě čerstvý a prázdný, pak bude hezky nefragmentovaný. Kernel už pak nikdy nebude bloky přidávat nebo ubírat. A také tě kernel nenechá použít pro swap soubor nějaký fragmentovaný soubor. Coywolf Qi Hunt poznamenal: Řekl bych/doufám, že dd jej vždy vytvoří nefragmentovaný. A Bernd Eckenfels odpověděl: Ne, vytváří soubory připojováním, stejně jako každý jiný zápis souborů. Mohli bychom uvažovat o volání, které by vždy vytvářelo nefragmentované soubory. Ale protože to ne vždy funguje, je nejlepší ty soubory vytvořit čerstvě nebo defragmentovat před použitím. Jeremy Nickurak k tomu řekl: Tohle ale zmaří největší výhodu swap souboru oproti swap oddílu: možnost snadno přenastavit velikost místa na harddisku, které je pro swap vyhrazeno.
Wakko Warner se pak zeptal: Je možné vytvořit velký soubor, aniž by byl ve skutečnosti celý zapsán na zařízení (tj. neinicializovaný)? Není žádný důvod, proč by měl být swap soubor plně inicializovaný. Stačí ta část, kterou vytvoří mkswap. Samozřejmě bych očekával, že tohle bude moci provést pouze root. O pár zpráv dále odpověděl Bernd: Neexistuje přenositelný/zdokumentovaný způsob, jak zvětšit soubor, aniž by filesystém nevynuloval obsah. Ale proč by to mělo vadit, takové soubory moc často nevytváříš? Kromě toho je pro operační systém lepší, může-li spoléhat na to, že stránka s nulami je stejná jako stránka v čerstvém swapu.
8. črc - 12. črc
Stelian Pop napsal:
Jde o ovladač pro USB touchpad, který je v Apple PowerBoocích vyrobených po únoru 2005 (PowerBook5,6).
Je odvozen z ovladače appletrackpad od Johannese Berga (http://johannes .sipsolutions.net/PowerBook/touchpad/), ale v některých oblastech byl zdokonalen:
Ovladač byl několik týdnů testován čtenáři konference 'debian-powerpc' a myslím, že je připraven k začlenění do hlavního jádra.
Díky Johannesi Bergovi za rozlousknutí protokolu touchpadu, Franku Arnoldovi za další vylepšení a Alexi Harperovi za doplňující informací o tom, jak fungují senzory touchpadu.
Johannes Berg byl rád, že se ovladač dostane do jádra, a připojil pár technických rad, které Stelian přijal, a poslal aktualizovaný patch. Vojtěch Pavlík, Peter Osterlund a další se přidali s návrhy na vylepšení, které Stelian také implementoval.
9. črc
Nigel Kukard napsal:
Popis projektu:
BootUtils je sada utilit usnadňujících bootování moderních systémů založených na jádře 2.6. BootUtils jsou navrženy pro initramfs, ale uvítám dobrovolníky, kteří by chtěli přidat podporu pro initrd. Je automatizován proces nalezení root oddílu, připojení a přepnutí roota. Nalezení je zajištěno buď pomocí označení [label] nebo výslovným label= na příkazové řádce jádra. BootUtils také mohou vyhodit nouzovou příkazovou řádku, pokud nelze root oddíl připojit. A nebo spustit sshd a umožnit adminovi login, je-li stroj daleko.
Funkce:
Změny:
Web:
V originálu Kernel Traffic 319 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.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.