Kernel

Keserű fejlesztő: befejeződött egy driver fejlesztése

Címkék

Az egyik core Linux kernel fejlesztő, Greg Kroah-Hartman eltávolított a Linux kernelből egy olyan hook-nak nevezett funkciót, amely lehetővé tette, hogy bizonyos, a Philips által gyártott webkamerák működhessenek Linux alatt.

A PWC névre hallgató kamera driver karbantartója ezen annyira feldühödött, hogy kijelentette, hogy 5 év munka után befejezi a driver fejlesztését, kéri a Linux kernelből való eltávolítását, és megszünteti a driver honlapját is.A driver egy félig nyílt, félig zárt forrású megoldás. Két részből áll, egy PWC névre hallgató nyílt forrású kódból, és egy PWCX névre hallgató bináris dekompresszorból. A PWC magában is működik, de a jó működéshez, és ahhoz, hogy a kamera tulajdonosai minden funkciót szépen ki tudjanak használni elengedhetetlen a Philips által nyújtott bináris dekompresszor is.

Ahhoz, hogy a bináris PWCX működni tudjon, együtt kell működnie a PWC kóddal. Ehhez a PWC modul kiexportál egy funkciót a kernelen kívülre, amelyet hook-nak hívnak. A kernel fejlesztők azon az állásponton vannak, hogy nem akarnak látni semmilyen hook-ot, funkciót vagy mechanizmust a kernelben, amely lehetővé teszi az ilyen modulok működését. Ennek érdekében Greg Kroah, a Linux kernel USB alrendszerének karnabtartója eltávolította a PWC-ből azt a hook-ot, amely lehetővé tette a PWCX betöltését a kernelbe. Ezzel azt okozta, hogy a mainline kernelbe nem lehet a PWCX modult betölteni, előtte patchelni kell a kernelt.

A driver fejlesztője ezt az eljárást több okból is elfogadhatatlannak tartja:

- a hook mechanizmus 3 éve része a kernelnek, szerinte kicsit későn döntöttek arról, hogy el kéne távolítani

- a döntés megnehezíti a karbantartó és a felhasználók életét is (pláne a kezdő felhasználókét, akik nem tudnak kernelt patchelni)

- az utolsó pedig a saját sérelme, hiszen ezzel a döntéssel megfosztják a felhasználót attól a lehetőségtől, hogy bináris modult használhasson

A fejlesztő ezért úgy döntött, hogy nem hajlandó a kernelben egy gyengén működő driverhez a nevét adni (a bináris modul nélkül csak nagyon csökkentett támogatást ad a driver a kamerákhoz), ezért kéri a driver teljes eltávolítását a Linux kernel forrásából. Emellett befejezi a fejlesztést, törli a bug tracking rendszert, megszünteti a weboldalt, törli a letöltéseket, a dokumentációt, a FAQ-t, stb. Ahogy ő fogalmaz ``teljesen kihúzza a konnektort''.

Ahogy írja ezen a döntésen mindenki veszít:

- a felhasználók a drivert

- a fejlesztő a kis népszerűséget, amit szerzett magának a driverrel

- a Philips a támogatottságot

- a Linux kernel is, mert neki a népszerűséghez szüksége van arra, hogy jó hardver támogatást adjon

A fejlesztő döntését és az egész ügy hátterét elolvashatod itt.

Linus Torvalds: Linux 2.6.9-rc1

Címkék

Linus visszatérve a vakációról kiadta a 2.6.9-rc1-es Linux kernelt. A változások számos területet érintenek: arm, ppc, sparc, acpi, i2c, usb, fbcon, ntfs, xfs, nfs, cpufreq, agp, sata, hálózati driverek... Linus hosszasan gondolkozott azon, hogy a 2.6.8-as vagy a 2.6.8.1-es kernelhez készítse a patchet, de végül úgy döntött, hogy 2.6.8-hoz adja ki. Akinek 2.6.8.1-es forrása van, annak a .1 patchet vissza kell patchelni (-R).

A patch letölthető tükörszerverekről.

Változások logja Linus levelében itt.

Andrew Morton: Linux 2.6.8.1-mm3

Címkék

Aki még nem csömörlött meg az állandó ütemező cseréktől, annak itt az új -mm patch. Benne Nick Piggin (NP) új CPU ütemezője, amely több helyen is eltér a mainline kernelben található scheduler-től.A legfőbb különbség, hogy míg a jelenlegi ütemező az időszeleteket a processz nice szintje alapján allokálja, addig az NP féle ütemező ezt csak a prioritás alapján teszi.

Az ütemező csak ideiglenes jelleggel lett beolvasztva, ``lássuk mi történik'' alapon.

Az anyag letölthető 2.6.8.1-mm3.bz2

A változások teljes listája Andrew levelében itt.

Andrew Morton: 2.6.8.1-mm2 (Reiser4 végre)

Címkék

Andrew ma kiadta a második -mm patchet a 2.6.8.1-es Linux kernelhez. Benne több érdekes és fontos dolgot találhatunk. Elsőként egy fontos bugfix. A tegnap említett memória szivárgás javítása kapott benne helyet. Emellett egy nagyon régen várt funkció került be most a Linux kernelbe, a Reiser4 filerendszer támogatása.A Reiser4-re már majd egy éve várunk, hiszen a Namesys tavaly nyárra ígérte. Hans Reiser - a ReiserFS és a Reiser4 csapat vezetője - már március végén jelezte, hogy a Reiser4 kész az -mm fába való beolvasztásra, de ennek ellenére Andrew Morton csak most látta jónak az időt, hogy bekerülhessen a fájába az anyag.

A Reiser4 filerendszer jelenleg limitáltan működik, csak i386-on van tesztelve, és még nincs qouta támogatás. A teszteléshez szükség van a legújabb reiser4 programokra van szükség (bővebb infó itt).

További infók a Reiser4-ről: hupwiki://reiser4, vagy a korábbi HUP cikkekben.

Az anyag letölthető 2.6.8.1-mm2.bz2

Változások listája Andrew levelében itt.

A kernel patcheléshez segítség: hupwiki://Linux _kernel_patchelés

Memória swap-ként való felhasználása

Címkék

Egy érdekes cikk jelent meg a napokban a KernelTrap-on. A cikk szerzője azzal az ötlettel állt elő, hogy a rendszer fizikai memóriájának egy részét swap területként használja fel. A cikk írója abból a feltételezésből indult ki, hogy a memória hozzáférés sokkal gyorsabb, mint a lemezműveletek (nagyobb sebesség, nincs seek-elés miatti overhead, stb.), és olcsóbb is, mint a gyors storage megoldások. Az elképzelés a következő:

Tételezzük fel, hogy van egy Linux rendszerünk, amely érezhetően lelassul, mikor az adatokat visszatölti a lemezen levő swap területről a memóriába (swap in). Mint tudjuk a lemezműveletek sok százszor lassabbak, mint a memória műveletek. A cikk írója úgy okoskodik, hogy ha a merevlemezen levő swap területet lecseréljük valamilyen memória alapú egységre (mondjuk IDE-re dugható DoM-ra (disk on module)) akkor felgyorsíthatjuk a lapozási folyamatot.

A cikk írója ezután a következőt javasolja: ne memória diszket alkalmazzunk, menjünk tovább. Tegyünk a gépbe még memóriát, azon hozzünk létre ramdisk-eket, készítsünk rájuk swap területet, és használjuk azokat swap-ként (a Linux képes file-ra is swap-elni, nem csak partícióra). Magyarul valami ilyesmire gondolt:

ramdisk_size = 131072

(Grub-ba vagy LILO-ba)

mkdir /swapram

mkdir /swapram/rd10

mkdir /swapram/rd11

mkdir /swapram/rd12

mkdir /swapram/rd13

mke2fs /dev/ram10

mke2fs /dev/ram11

mke2fs /dev/ram12

mke2fs /dev/ram13

mount -t ext2 /dev/ram10 /swapram/rd10

mount -t ext2 /dev/ram11 /swapram/rd11

mount -t ext2 /dev/ram12 /swapram/rd12

mount -t ext2 /dev/ram13 /swapram/rd13

dd if=/dev/zero of=/swapram/rd10 bs=1024 count=129030

dd if=/dev/zero of=/swapram/rd11 bs=1024 count=129030

dd if=/dev/zero of=/swapram/rd12 bs=1024 count=129030

dd if=/dev/zero of=/swapram/rd13 bs=1024 count=129030

mkswap /swapram/rd10/sw 129030

mkswap /swapram/rd11/sw 129030

mkswap /swapram/rd12/sw 129030

mkswap /swapram/rd13/sw 129030

chmod 0600 /swapram/rd10/sw

chmod 0600 /swapram/rd11/sw

chmod 0600 /swapram/rd12/sw

chmod 0600 /swapram/rd13/sw

swapon /swapram/rd10/sw

swapon /swapram/rd11/sw

swapon /swapram/rd12/sw

swapon /swapram/rd13/sw

A cikkből nagy flame lett. A flamelők két táborra szakadtak. Az egyik azt állítja, hogy minek a RAM-ban swap, ha kevés a memória, akkor tenni kell a gépbe, és nem swap-ol a rendszer. A másik tábor azt állítja, hogy a swap szükséges dolog, és ha már swap-elni kell, azt jobb a gyorsabb RAM-ban megtenni, mint merevlemezen.

A cikk itt. Érdemes elolvasni a hozzászólásokat is. Vélemény?

Memória szivárgás audio CD írása közben

Címkék

A nem rég megjelent 2.6.8.1-es Linux kernel egy olyan bugot tartalmaz, amely memória elfogyáshoz vezethet audio CD írása közben. A hibát többen is tapasztalták, többek között a fórumunk egyik olvasója is.A hibát egy olyan függvény okozza, amely nem szabadítja fel a korábban lefoglalt memóriát. Az eredmény: OOM (Out of Memory). Ebben az esetben csak a reboot segíthet.

Andrew Morton - a 2.6-os kernel sorozat karbantartója - azt válaszolta, hogy emiatt már kiadásra kerülhet a 2.6.8.2.

Marcelo Tosatti: Linux 2.4.28-pre1

Címkék

Marcelo kiadta a 2.4.28-pre1-es kernelt. Benne nagy SATA frissítés/javítás, hálózati frissítések, lib crypto javítások találhatók. Megjelent benne a Khazad titkosító algoritmus támogatás, hozzáadásra került a prism54 wireless driver. Továbbá: SPARC64 frissítések, cciss SCSI driver frissítés, agpgart támogatás az i915 chipset-hez, OOM killer bugfixek, VM bugfixek, kezdeti támogatás a gcc 3.4-hez.

Meglehetősen nagy változások, érdemes tesztelni.A változások listája Marcelo levelében itt. Az anyag letölthető a tükörszerverekről.

2.6.8.1 kernelhez bootsplash

Címkék

Pár órája kijött a 2.6.8.1-es kernelhez a 3.1.4-es bootsplash patch, amivel boot képernyőt készíthetünk kernelünkhöz!A patch letölthető innen.

Rengeteg boot theme érhető el itt.

Egyéb kernelekhez is megtalálhatók a patchek itt.

Aki még nem csinált ilyet annak ez a HowTo segítségére lehet.

Linus Torvalds: Linux 2.6.8.1

Címkék

Linus pár órával a 2.6.8-as Linux kernel kiadása után bejelentette a 2.6.8.1-es verziót. Ennek az oka az, hogy Willy Tarreau arról számolt be, hogy NFSv3-at használva a rendszere pánikolt. Linus hamarosan reagált, és azt írta, hogy az fs/nfs/file.c fileban található typo okozza a hibát.

A hibát javítandó kiadásra került a 2.6.8.1-es kernel.

Az anyag letölthető: FULL, patch

A változások listája Linus levelében itt. Thread itt.