Linux diszkrét bája #2. - Memóriakezelés

Figyelem, ezen cikk erős, negatív kifejezéseket használ mindenki kedvenc gányolt rendszerével kapcsolatosan! Mezei pingvintöcskölők, csak nyugtatóval olvassák.

Korábban futottam pár kört a linux távoli managementje témakörben. Mostani történetünk a Linux memóriakezeléséről szól. Pontosabban annak nem kezeléséről. Vagyis fogalmazzunk úgy, hogy azon kreatív megoldásokról amivel a felhasználót szivatják kernel oldalról.
Történetünk főszereplője egy kukaszerver, P2@400Mhz, 64 MB, 1GB swap. Mint ilyen egy szépen összekonfigurált apache, mysql, X, és digitalizáló módban futó mplayerrel kényelmesen belak 59MB-ot. Tehát még marad 5 MB ami két és félszerese egyes grafikus operációs rendszerek futtatásához szükséges memóriaigénynek, de ez ne zavarjon minket. Az élet, szép és jó. A ventillátorok csendben duruzsolnak, stb, stb, stb.
Mivel egy átlag felhasználó (aka én), szeretné fűtésen kívül másra is használni napi 24 órában ketyegő gépét, ezért - minő aljas cselekedet - elindít egy torrent klienst, ami grafikus lévén gyorsan be is ránt 132MB(!)-ot. Ugyebár ez még egy fdivbug előtti processzor, ezért rövig osztás, szorzás után kioszt 128MB swap-et, 4MB memóriát és mindenki boldog vala.
Ekkor a felhasználó (aka én) úgy dönt, hogy áthelyezi a webkamerát, tehát leállítja az mplayert, kilövi a kamera modult, kihúzza a kamerát és odébbteszi. Ugyebár ekkor a kernel felszabadítja a fentiek által foglalt memóriát, felszabadítja a swapet és kiosztja a többi processznek. Hát egy lófaszt. A felszabadított memóriát kiosztja a többi processznek és a swaphez hozzá sem nyúl.
A felhasználó (aka én), miután végzett a kameramozgatással visszadugja a kamerát, amihez a kernel betölti a modult. A felhasználó (aka én) ezután elindítja az mplayert ami el is száll. Vajon mivel?
v4l2 ioctl error: Cannot allocate memory
Hopszi. Ez bizony szopás. Vessünk csak egy pillantást a memóriára. 63MB normál memória és 151MB swap foglalt. Tehát tetvérek közt is 850Mb swap van szabadon.
Ízlelgessük egy kicsit a fenti hibaüzenetet: v4l2 ioctl error
Tehát a hibát a kernel modul dobja és nem az mplayer. A kernel egy kernel modulnak nem tud memóriát foglalni a működéséhez, mert az userspace programok elfoglalják. Hihetetlen, hova fejlődik a technika... De az is lehet, hogy ez egy processz védelmi eljárás! Biztos bekapcsoltam az emo kernel featuret fordításnál, és most nem akarja megbántani a userspace programokat azzal, hogy swapbe teszi őket.
Nosza, segítsünk neki! Lőjjünk ki egy processzt, legyen mondjuk a mysql. Hopszi, lett is hirtelen 8MB hely, az-az csak volt mert a kernel kiosztotta a futó processzeknek. Indítsuk el az mplayert, mi a válasz?
v4l2 ioctl error: Cannot allocate memory
Lőjjünk ki még pát processzt, mondjuk a ktorrentet, és az apache-ot. Futni fog az mplayer?
v4l2 ioctl error: Cannot allocate memory
Mi van a memóriában? 47MB normál memória, 136MB swap foglalva, a többi szabadon.
Kapcsoljuk ki a swapet és vissza. 47MB normál memória, a többi szabadon. Lőjjük ki a v4l modult, húzzuk le a kamerát, kössük vissza.
Eredmény?
v4l2 ioctl error: Cannot allocate memory
Igen kérem, ez a fényévekkel a technológia előtt járó, kattingedzs linux kernel, mely keptelen 7 MB-ból 1MB memóriát allokálni. Nevezhetnénk ezt a technológiát akár plug-and-sucksnak.
Mi marad tehát? Windows módszer. Szálljunk ki és szálljunk vissza. Reset, reboot. És csodák csodája, megy a digitalizálás 5MB szabad hellyel. Indítsuk el a ktorrentet. Ez is megy. Fantasztikus, nem?
Próbáljuk meg másképp. Reboot. Modul ki, kamera le. Kamera vissza. Hopszi, megy a digitalizálás. Modul ki, kamera le. Kamera vissza. Még mindig megy a kamera.
Indítsunk pár alkalmazást, fogyjon el a valós memória. Modul ki, kamera le. Kamera vissza. Eredmény?
v4l2 ioctl error: Cannot allocate memory
Ürítsük ki a memóriát. Modul ki, kamera le. Kamera vissza. Eredmény?
v4l2 ioctl error: Cannot allocate memory
Sokszor szídják a kernel fejlesztőket, hogy nem konzisztensek. Nos ez esetben szó nem érheti őket, hiszen 2.6.26, 2.6.31 és 2.6.32-n is ugyanazt csinálja. Bár feltételezem, hogy az erőforrásaik javarészét az foglalta le, hogy 2.6.26-ról sikerüljön 2.6.31-ig elbaszni, majd 2.6.32-re megjavítani a uvcvideo modult.

Tanulság? Támogassuk a hardvergyártókat fosstalicska linux használatával. Vásároljunk az adott feladathoz szükségtelenül nagy hardvert és tömjük ki memóriával, mert a végén szegény kernelfejlesztő gyerekeknek a sok munka miatt nem marad ideje kvékezésre. Hogy reportolom a bugot? Nem. Szopjon más is, ha nekem ezzel felelslegesen elment fél napom. Minnél több ember szív vele, annál több hagyja ott, és akkor talán a megérdemelt helyére kerül.

Stay tooned....

Hozzászólások

Nézd,ha egy idősebb kolléga leirja a keserű tapasztalatait,tárgyilagosan a saját blogjában az szerintem érték.Hiena ironikus hangvételét neked még szoknod kell,de a jövőben (főleg az friss linux elhasználók védelmében) kérlek inkább halgass,mert több kárt okozol mint a kernelfejlesztők....

Egyáltalán nem azon vagyok kiakadva, hogy miket ír a memóriakezelésről. Elhiheted, hogy nem ma reggel kezdtem az informatikai pályafutásom. Tisztában vagyok vele, hogy milyen problémák várnak még megoldásra. Az, amin leginkább kiakadtam, az a következő:

"Hogy reportolom a bugot? Nem. Szopjon más is..."

Remélem megérted, hogy nem tapsolok örömömben és gratulálok a "helyes" hozzáálláshoz.

SKL - leírásgyűjtemény és informatikai portál

Kettővel lejjebb leírom miért nem érzem feladatomnak a bug debugolását és teljes riportolását. Ha annyira fontos lenne egy-egy hibának a detektálása, akkor a modul ne csak annyit böfögjön ALAPBAN, hogy nem lehet memóriát foglalni, hanem menjen egy teljes dump egy logfileba, amit aztán lehessen postolni.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Troll!
__________________________________
2e845cb4c3a5b5bd6508455b1739a8a2

> Minnél több ember szív vele, annál több hagyja ott,

És mit raktál fel a linux helyére?

Nem konkrétan az op. rendszerükbe, hanem az aktuális választótjukba, ami lehet böngésző, egyéb program is.

Magamról konkrétan tudom, hogy mindig meg tudom indokolni magamnak (másnak is :), hogy miért is "khirájjabb" a jelenleg általam használt valami a korábban általam használt valamihez képest.

Holott az egyszerű igazság az, hogy pl. nekem a legtökéletesebb választás desktopon windows lenne, csak smucig vagyok perkálni és csak úgy "áthúzni az elvesztegetett éveket". :)
--
http://opensolaris.org/os/project/indiana/
http://www.opera.com/browser/

Hiena lassan te leszel a Linuxosok Emo-sa :)
Neked semmi sem jo mert hozza kell nyulni...
Multkor a csomagkezelo volt szar, mostmar a kernel, de akkor minek hasznalod?
A masik meg hogy hablatyolsz ossze vissza fdivbugrol ami kb 5evvel a PII elott volt...
-== If you want peace prepare for waR ==-

+1, nekem is van egy PIII450 128MB RAM-mal, még azon is kijönnek ilyen furcsaságok, igaz én nem szórakoztam vele ennyit, rebootoltam, oszt' csá.
Meg egy csomó faszságba futottam már bele úg ánblokk, úgyhogy
"Minnél több ember szív vele, annál több hagyja ott, és akkor talán a megérdemelt helyére kerül."
+1

Hiena, remélem, minél több ilyenbe futsz bele és ide is vésed, ergo ha ilyesmibe futok, tudom hol a megoldás :D

-------------------------
Trust is a weakness...

Nincs 2 gigabáj memóriád??? Hogy fut azon a viszta??? Hogy tudsz igy élni egyáltalán??? :)

ennyi szopas utan miert nem keresel magadnak egy masik rendszert? vagy csakazertis hogy millioszor elmondhasd: zar a linugz ;-)

udv Zoli

BSD, QNX tesztelés alatt. Amint kiismertem a szopóágaikat és használhatónak bizonyulnak a megfelelő helyen, abban a pillanatban ki lesz rántva a jég a pingvin alól.
Viszont ez nem az elsődleges fontosságú dolog a listámon.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

"Hogy reportolom a bugot? Nem. Szopjon más is, ha nekem ezzel felelslegesen elment fél napom"

gondolom ezek utan meg majd irsz blogbejegyzest arrol is, hogy milyen szar a linugz mer' tele van bugokkal, es meg csak eszre sem veszi a sok hulye retardalt kernelfejleszto, ugye? :)

Nem olvastam végig mert csak időm menne vele feleslegesen.
Viszont, tudtad kedves Hiéna, hogy a linux ingyenes, és szabadon használható? Egyszerűbben: ingyé van, ha akarod használod, ha nem nem, rád nem kényszeríti senki.

Azért valamivel többet kapsz a 0 forintodért annál, mint amennyit te letettél valaha az asztalra. Ha úgy gondolod hogy nem, akkor meg írj jobbat.

Nem szeretem a fikázást, ha nem jött volna le az első pát sor után hogy ez az lesz, el is olvastam volna. Bugriportolni persze nem, minekazt, kétszer annyi ideig hőbörögni a hupon mennyivel menőbb már.

--
http://csuhai.hu
http://sys-admin.hu

Bocsi. De a tévedések elkerülése végett, a linux kernel fejlesztők igen jelentős hányadát megfizetik azért, hogy a kernelt fejlesszenek, tehát a munkaadóik felé az a minimum követelmény, hogy a munkájukat a lehető legmagasabb szinten végezzék. Úgyhogy itt leginkább arról van szó, hogy vannak emberek akik a fizetésükért cserében szarul dolgoznak.

Mivel 0 forintot fizettem a linuxért, ezért nem is várok el szupportot, és nem is élek kártérítési igénnyel a kiesett idő miatt.

Bugriportolásról, csak annyit. Hogy jó 10 évvel ezelőtt szorgalmasan küldözgettem a riportokat, mire a válasz "A probléma nem reprodukálható" vagy "A probléma a leírás alapján nem azonosítható volt".
Ahhoz, hogy pontosan riportolni tudjam, ahhoz pontosan tudnom kéne a kernel felépítését és ismernem kéne, hogy a hibát a v4l memóriaellenőrzésének az egyszeri futása okozza, vagy épp a memóriaallokálásban kell a hibát keresni. Mivel csak egy mezei user vagyok, nem érzem feladatomnak a kernel ilyen szintű ismeretét.

Elhiheted, hogy amint megfelelő összeggel rendelkezem és lesz megfelelő alternatíva, úgy felejtem el az openszószt ahogy azt kell.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Valóban. Csak épp egy fizetős OS-nél vannak minőségi követelmények aminek meg kell felelnie, plusz amennyiben fizetek érte, akkor lehetnek elvárásaim a szoftverrel szemben. (pl.: http://www.qnx.org/products/standards.html)

--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

A piac követelményeinek.
Egy szoftver fizetősen csak akkor képes életben maradni, ha képes a piacon lévő összes alternatívájához (beleérve az openszószokat is) képest, az érte kért árral egyenértékű többletet nyújtani.
Pl. a sokat szidott Microsoft termékek is csak azért maradnak a piacon, mert képesek megfelelni az árukért elvárt minimum feltételeknek.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

> a sokat szidott Microsoft termékek is csak azért maradnak a piacon, mert képesek megfelelni az árukért elvárt minimum feltételeknek.

Hamis állításból következtettél, mert tudjuk hogy egyetlen Microsoft termék sem marad a piacon.

ne menjunk bele m$-OSX-Linux-etc. flame-be, de a windows ara es a kepessegei/szolgaltatasai szerintem baromira nem passzolnak
nem hinnem hogy barmivel is lenyegesen tobbet nyujtana mondjuk a windows mint OS a tobbi alternativanal (sot, de mindegy...)
annyival semmikepp, hogy egy nem herelt peldany 50K-ba keruljon
mas a helyzet server-fronton, egy mssql vagy exchange server azert nem rossz talalmany, viszont az ertuk elkert nem kis penz kozel sem biztositja a hibamentes mukodest (mint lattuk pl a par evvel ezelotti durva SQL-hibanal, ahol aztan a m$ megrantotta a vallat hogy ja, tedd vissza backupbol, ez van, leszarjuk a nyomorodat, tedd fel a frissitest, es remenykedj hogy tobbet nem lesz ilyen)

az meg hogy miert vannak piacon, alapvetoen ket okra vezetheto vissza sztem: marketing es megfelelo idozites/helyezkedes

az otthoni userek tulnyomo resze azert hasznal (szinte kizarolag, vagy legalabbis nagyon durva aranyban warez) windowst, mert azon mennek a (jo esellyel szinten warez) jatekai. a win95/98 idejeben nem nagyon volt mas lehetoseg PC-n, a DOS mar haldoklott (dos4gw, VESA, egyebek), a Linux meg rettento gyerekcipoben jart. mostanra siman elert a Linux oda, hogy remek jatekplatform lehetne, de egy jatekkiado szempontjabol egyszeruen nincs ertelme valtani, meg az is tul nagy koltseget/idoraforditast igenyel, hogy tobbplatformos legyen a sw, a kis szamu Linux-user miatt nem eri meg.

serveren sokkal erosebb a Unix-orokseg, ott ebbol adodoan nagyon erosen jelen van az ingyenes Linux-vonal is a commercial mellett

nagyon keves koze van az egeszhez penznek...

amugy a blogban felvetett problema tipikusan olyan, ami barmilyen OS alatt elofordulhat, windows alatt sokkal banalisabb hibak is mindennaposak. mondjuk vannak mokasak is, nalam a nonplusultra az volt, mikor kollegam gepere radugtuk az USB-s egeret, erre a scanner beolvasta a benne levo oldalt majd kinyomtatta a nyomtaton :D kollegammal ugy ledobbentunk hogy csak pislogtunk...

amugy meg ha mar annyira cirkuszolni akarsz, es fikazni a kernelt, akkor legy igazsagos: hasonlitsd ossze a Linux kernelben levo webcam-drivert a windows-ban gyarilag levovel ;) (bar a w7 rengeteget lepett elore ezen a teren, meg mindig mindennapos hogy a hw-hez drivereket kell telepitgetni, Linux alatt ez csak nagyon minimalisan letezik hal'istennek)

Ami megy az megy.

Ami nem müködik out of the box?
Na ott például hiába ad a gyártó drivert,mert a gyors verzióváltások miatt sosem fogod élesben beledrótozni a rendszeredbe (kompatibilitás teljes hiánya).Ami valljuk meg ciki ha nem webcamról van szó hanem ipari szünetmentes áramforrás energiagazdálkodásáról stb...

> hiába ad a gyártó drivert,mert a gyors verzióváltások miatt

Nem értem. Felrakod a driver-t a gépre, aztán gyorsan verziókat váltasz?

> ha nem webcamról van szó hanem ipari szünetmentes áramforrás energiagazdálkodásáról stb...

Ne aprózzuk el, legyen rögtön atomerőmű. Persze gyors verzióváltásokkal ...

most mit nem értesz?/minek trollkodsz?

Legfőbb oka ami miatt nem mennek linuxos vasak n+1 helyen.
Az hogy ma megy XXX eszköz,aztán következő 2.x.x+1 verziónál nem,
aztán +1 verziónál megint,aztán megint nem,aztán megint igen..............

Anno amikor az ISP-k linuxra váltottak az Apache miatt nem volt ennyi gányolás.Ma gányolás van ipRI méretekben aminek az eredményeként a gyártók egyszerüen nem adnak linux drivert.

azért megnézném, hogy a gyártók azért nem adnak linux drivert, mert:
1. gányolás van a kernelben
2. nem érzik elég nagynak a piacot
3. kaptak valami susmust az ms-től, hogy az nem is olyan jó a gyártóknak, ha drivert fejlesztenek a linuxhoz.
simán lehet, hogy a három válasz egyszerre igaz.

Különben meg a gyártók miért nem adnak a long term supportos kernelekhez drivert? ott nincs verzióváltásos probléma?

Amennyire én tudom, stock kernelnél vannak gyakori változások, a disztribúciók kernele egyáltalán nem változik ennyire gyorsan.
A freebsd-sek is azt mondják, ha annyira érted a dolgokat, hogy magad forgatod a kerneled, akkor egyedül maradtál... pl. egy debian alatt minek erőltetni a gyors verzióváltást? nekem ez a része nem tiszta. csak azért cseréljünk kernelt, hogy le legyen cserélve?

Was? A disztribek kernele nem követi a bugfixeket is tartalmazó verzióváltásokat? No, ez azért elég csúnya dolog... Jó, persze, lehet, hogy nem lesz minden i-re 2.6.i verziójú kernelcsomag az x vagy az y disztróban, de a lényegen nem változtat, hogy egy kernelcsere okozhatja a korábban működő driverek döglését.

Miért is kellene minden verziót követni?
A bugfixek rendszerint egyszerűen backportolhatók, főleg, mióta gittegylet lett belőlük. A disztrib kernelek szinte soha nem stock kernelek, mindig van rajtuk egy-több patch, amit a karbantartója jónak talált és gyakran van belőle több verzió, amikor jönnek a bugfixek.

Attól, hogy nem rohansz a stock kernel után, még nem maradsz védtelen.

de nekem úgy tűnik, hogy vagy nagyon tájékozatlan vagy, vagy csak hülyíted a népeket, úgyhogy hagyjuk a témát.

A 8 éves scanneremet mai napig csak egy zárt forrású, visszafejtett windowsos driverekkel operáló program tudja színhelyesen kezelni.
3 webkamera közül átlagban egy amit helyesen kezel, egy ami csak félig van implementálva, és egy amelyik libjpeg számára nem emészthető képet küldd vissza.
Tunerkártyából többet tapostam meg, csak mert szar volt bttv modul és akkor fagyott szét az egész rendszer (2.4-es kernel csodája), amikor nagyon kellett volna.
T'om, nem vagyok Linux kompatibilis...
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

ha valami hardverhez nincs ms certified driver, akkor ők csak a vállukat vonogatják. Ott sem fogsz tudni mindent "csak használni". Ha nem felel meg, választasz másik hw-t vagy másik oprendszert. Ettől a különbség még megmarad: win alá nem szokás drivert írni, linux alá meg lehetne, ha volna kedved hozzá.

Windows alatt eddig 90%-ban be lehetett maszirozni stabilan a nem WHQL drivert,és müködött is.Például a 10 éves scannerem,a fényképezőgépem már rég nem supportált,mégis be lehetett heggeszteni stabilan Vista alá is a drivert.Linux alatt viszont egy rahedli alkalommal nem volt semmilyen megoldás.
Nem nem irom meg a drivert.

nekem eddig 1-ből 1 nem jött össze vista alatt driver ügyben. Nem szidom a vistát (annyira :)), mert nem érdekel, remélem, sose látom többet, de valahogy nem az jött le, hogy húúú, windows alatt kánaán van, linux alatt meg pokol, és a windows világ az hófehér, a linux világ meg fekete, mint a világűr, amikor a Teremtő 0-val osztott.

Többé-kevésbé mindkettő szaros, ez van, srácok. Csak én nem akarok mindenáron egy nem működő módszert ráerőltetni a cuccaimra, örülök, hogy találok egy működőt, megoldom és onnan kezdve tehetek rá magasról. Neked is meg még egy-két fórumtársadnak is azt tudom javasolni, ha nem vált be a linux, hajítsd ki, használd azt, ami bevált, a felszabaduló idődben meg menjél, dobjál be egy pofa sört. Az élet rövid ahhoz, hogy itt fosd a szót arról, hogy neked valami miért nem jó.

ez a prohardveren elmegy.

linuxot szervernek használok kizárólag támogatott brand gépeken.
Desktopon elég hamar repült.
nekem ha problémám van a jövőben is leirom,remélem Hiéna kolléga és jópáran megteszik ezt a Linuxért és nem a Linux ellen.
Sörözés helyett.

ps: szeretnék desktopon linuxot használni,és boldogan elhasználni 2010-ben...

tisztázzunk valamit: Hiéna kolléga valóban problémát írt le. Kihúzta, bedugta, nem ment, ment, rebootolt, stb. Ez van az ő írásában, ezt lehet problémának és/vagy leírásnak nevezni.

Ami miatt én klavit ragadtam az az, hogy te nem problémát írtál le, hanem előadtál egy világmegváltó nagy kesergést a bajaidról.

Amit Hiéna írt, az akár segíthet is a linuxon. Amit te, abban nem láttam előremutatót.

leirom ugysem akarod érteni/nem is számit:
nem segitségkérés volt,hanem ténymegállapitás,hibák amiket például a jövőben nem szeretnék látni.Már azt feltételezve,hogy egyszer lehetek linux felhasználó desktopon is.Részemről kiszáltam,elkönyveltem a veled való kontextus zéró.

> linuxot szervernek használok kizárólag támogatott brand gépeken. Desktopon elég hamar repült.

Némi ellentmondást vélek felfedezni a "10 éves scanner, fényképezőgép, rahedli alkalommal semmilyen megoldás" mesédhez képest. (szerver vs fényképezőgép; hamar repült vs rahedli alkalom?)

Gondolom a Linux emiatt repült a desktopról, mert a Windows alá a régi driverek is bemaszírozhatóak... Linux alatt meg...
A vmware-t sokan ismerik errefelé. Linux alatt, ha új kernel jön, akkor a moduljait újra kell forgatni, és vagy megy, vagy sem. W2k-n régóta fent van egy vmware otthon. Volt közben néhány OS-frissítés, olyan is, ami ntoskrnl.exe meg más, igencsak mélylélektani hatással járó cserét hajtott végre. Reboot, és az alkalmazások, a vmware, az összes driver csont nélkül ment.

"Ettől a különbség még megmarad: win alá nem szokás drivert írni, linux alá meg lehetne, ha volna kedved hozzá."

A kettőspontig stimmel: windows alatt jórészt* szoktak működni a driverek, linux alatt meg a "works with ubuntun x.y nagyonfaszán" leírásokkal vagy beszopja az ember, vagy nem, aztán ha nem, akkor vagy megy az x.y+6-l, vagy nem.

* Igen, most leszek le mocsokos m$beren€ezve, megatöbbi. Nem azt mondom, hogy nem lehet beszopni, (Realtek 8139D-hez drivervadászat, ha elhagyod a kártyához mellékelt disket, XP 8139C-ig tartalmaz működő drivert) de lényegesen kevesebbet, mint máshol.

----------------
Lvl86 Troll

nekem van egy nagyon regi, LPT-s HP scannerem, amit a gyarto altal kiadott driverrel sem win98, sem xp alatt nem sikerult beuzemelni, egyszeruen meg sem nyikkant
Linux alatt igaz hogy kernelt kellett patchelni hozza, de onnantol tokeletesen mukodott

a tunerkartyamat windows alatt sosem voltam kepes normalisan beuzemelni, felvenni vele normalis felbontasban realtime tomoritessel keptelenseg volt, Linux alatt mindenfele driver meg egyeb okorsegek nelkul tokeletesen mukodott automatikusan (es ez nem egy ubuntu-fele 'fullextras' disztrib volt, hanem egy 1.0-s UHU...)

a webkameraknal sajna eleg szar a helyzet, sok chip van amivel nagyon randa a kep Linux alatt :( szerencsere normalis cuccal nincs gond MacBookPro es eeePC beepitett kameraja tokeletesen mukodik out-of-the-box, a par eve vasarolt Logitech webcam a driver felrakasa utan szinten tokeletesen mukodott, valoszinuleg ma mar nem kellene driver, tamogatja a kernel alapbol AFAIK

en ketszer vettem 3G-s sticket, egyiknel sem celzottan adott tipust kerestem, mindketto mukodik Linux alatt tokeletesen, mindenfele wines driver meg ndiswrapper nelkul :P
igaz, driver kellett (az elsohoz hso, a masodiknal talan mar driver sem, csak a szokasos usb_modeswitch)
wifi-adapterbol amit eddig probaltam, az mind mukodott azonnal (tudom hogy nem mindegyik megy, de azert ma mar ritka hogy 'ez sajna nem fog mukodni' jellegu gond legyen)

Nekem van olyan SATA merevlemezem (raadasul hitachi ultrastart, szoval nem szar...), amibol ha 4 db van radugva a gepre, nem tud bootolni az ubuntu, ha a 4-bol tetszoleges 3 van csak radugva, akkor meg siman bootol, es kezeli is mindegyik lemezt.
Nem, a lemezek nem hibasak (eloszor azt hittem hibasak, csak aztan kiprobaltam ugyan azon a gepen freebsd alatt es window alatt, lass csodat, mindegyik gond nelkul bootolt, es kezelte egybe a negy lemezt).
Amig ilyen furcsasagok fordulnak elo linux alatt, addig... khm...
Szerencsere ez a home-server boxom, igy nem kritikus a dolog, raerek szorakozni vele egy honapig is, mire a linuxnak megfelelo lemezkonfiguraciot talalok, de azert az erre forditott idot is szivesebben toltenem mashogy. :)

> példa, hogy mit kaphat az ember ha fizet az OS-ért

Csak azért kérdeztem, mert nem látom leírva az általad hivatkozott "vannak minőségi követelmények aminek meg kell felelnie". Ha akarom, akkor minőségi; ha nem akarom, akkor nem minőségi? Vagy ha fizettem érte: minőségi; ha nem fizettem érte, akkor: nem minőségi?

Az EAL4 és a SIL3 igen durva minőségi követelmények, amiket rendszeresen ellenőriznek. Ezeknek a certifikációknak az ára több 10000 USD értékű, és átlagosan 6-800 oldalas megfelelőségi nyilatkozatok tartoznak hozzájuk.
Ugyanezen bizonylatok megkövetelnek bizonyos programozástechnikai eljárásokat ami kizárja, hogy besavazott vagy befüvezett állapotban elkövetett kódot kommitelhessen valaki. Ezt ingyen nem fogod megkapni. Vagy Linus lesz annyira jó fej, hogy kifizeti a kernel certifikálását? Szerintem már az ISO9001 megugrása is komoly kihívásokat jelentene.
Itt nem csak a fizetésről van szó, hanem az egész OS fejlesztésének a manageléséről.
A minőségi követelményeket mindig a fejlesztők állítják fel, csak épp egy cég esetében a manager megteheti, hogy tökönrúgja a fejlesztőt, ha ennek nem felel meg, ezzel szemben ha Linus túl sokszor dob vissza kódot, az aspiráló fejlesztő emóba megy és többet nem kommittel. Aztán Linus meg ott áll és vonogatja vállát, hogy nincs hardvare support? Egy frászt, inkább beolvaszt egy teszteletlen kódot.
Ugyanez vonatkozik a minőségbiztosításra. Ha egy kódért pénzt kérsz, akkor ennek a pénznek bizonyos hányadát vissza tudod forgatni, hogy certifikáltasd a kódodat, és ha már certifikáltatod a kódodat, akkor az ezért kiadott pénzt nem akarod elbukni, tehát ezerszer jobban odafigyelsz, hogy milyen a kód amit leellenőriztetsz.
Kihívás, csináld meg ugyanezt nulla pénzből, fizetés nélkül dolgozó fejlesztőkkel. Isten hozott az Openszourceban. Jahm, és a certifikáció távolról sem jelenti, hogy még két ember nézi át a kódot.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Némi logikai ellentmondást vélek felfedezni az "Kihívás, csináld meg ugyanezt nulla pénzből, fizetés nélkül dolgozó fejlesztőkkel. Isten hozott az Openszourceban." és a "linux kernel fejlesztők igen jelentős hányadát megfizetik azért, hogy a kernelt fejlesszenek" kijelentésed között.

Az összefüggés:
A kernel fejlesztőket megfizetik, hogy az adott gyártó vasai/disztribúcióik menjenek. Ezek a fejlesztők viszont szabadon garázdálkodnak és azt fejlesztenek bele a kernelbe amit csak akarnak. A égek, jellemző módon, felvesznek max. egy tucat embert akik felé csak annyi elvárás van, hogy menjen a linux az ő termékükkel. Ennyi. Nem egy cégről beszélünk, több száz, több ezer cégről, mindegyik külön-külön álló szoftver fejlesztési hagyományokkal, és minőségbiztosítással. Míg egy szoftverfejlesztő cégnél egységes fejlesztési hierarchia van, addig ez nem léteik linux alatt. Vagy egy olyan patchnél ami tartalmaz 20 sort és annyit, hogy "Ezzel megy XY hardver.", szerinted hol ment át szoftverteszten?
Értsd: Egy szoftverfejlesztő cégnél egy fejlesztő csak egy adott munkát végez, és ha gond van ezzel akkor az illető tökére lépnek. Linuxnál ki lép a kernelfejlesztő tökére? Különösen, ha az illető Che tévképzetben leledzik és eért folyamatosan kommittel, mint az állat?
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

a linux kernelnek vannak dedikált karbantartói, mostanában már több szinten, akik nem engednek bele bármi hulladékot a stock kernelbe. itt is vannak e-péróra lépések, itt is van, hogy kihajítják a kódot, ha nincs gazdája, vagy nem felel meg a minősége és nem javította időben.

azért a kernel fejlesztése igen messze van attól, hogy kommitológépek klikkelnek, mint állat.

mégha ez nem is mindig látszik:)

Ccccc-cccc-cccc... Ne keverjük a szezont a fazonnal. Az EAL4-es certifikált disztribúciókat és a vanilla kernel. AZ EAL4 azt jelenti, hogy az adott termék Mószeresen Tervezett, Tesztelt, és Felülvizsgált. Ez azt jelenti, hogy az adott disztribúció összeállítását megterveztét, a komponenseit tesztelték, és rendszeresen felülvizsgálják. Tehát, ez azt jelenti, hogy amikor megkapod ezt a disztribúciót, akkor az abban lévő kernel, nem egy vanilla kernel lesz, hanem egy olyan kernel, amin végigmentek az RH emberei, kijavították hibákat, kitesztelték, és az így elkészített terméket és annak a tesztelését valaki felülvizsgálta.
AZ EAL4 alapkövetelmény majd minden fizetős, üzleti OSnél, mert ezzel biztosítod, hogy nem marad a kódban egy Kis Pistike által kommitelt backdoor.
Attól, hogy egy disztribció egy verziója megkapta a EAL4 tanúsítást, nem jelenti, hogy az összes disztribúciónak meglenne az azonos tanúsítása, sőt még azt sem jelenti, hogy ugyanazon komponensek különböző verzióinak meglenne a tanúsítása.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Nem értem, miért kell ezen az egy felhozott példán rugózni. Annyit akartam csak jelezni, hogy van egy árnyalatnyi különbség egy certifikált, minőségbiztosítási elvárásoknak megfeleltetett rendszer és simán összerakott között. Egy üzleti operációs rendszernek MEG KELL felelnie különféle tanúsítványoknak, egy open sourcenak nem. Ennyi.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Az említett Linuxok is open source rendszerek attól, hogy megkapták az EAL4-et. Te az open source alatt úgy látszik csak a közösségileg karbantartott linux disztribúciókat érted ebben a szálban. Ezek a gyártók? Red Hat/Novell pont ezt adják pluszban a közösségi fejlesztéshez képest amellett, hogy a disztribúciójuk alapja egy közösségi rendszer. (Fedora -> RHEL (repackaged: CentOS, Oracle), OpenSUSE -> SUSE Linux Enterprise)
Az viszont igaz, hogy mindkét gyártó inkább a szerver vonalra koncentrál.

Ahogy látom te a rendszeredre a 0 költséget és a 0 ráfordítandó időt válaszottad és csodálkozol hogy a minősége nem megfelelő:

Olvasnivaló:
http://en.wikipedia.org/wiki/Project_triangle

"Mivel 0 forintot fizettem a linuxért, ezért nem is várok el szupportot, és nem is élek kártérítési igénnyel a kiesett idő miatt."

ja, szoval ma$ OS alatt, amiert fizetsz, lehet reklamalni az OS balfaszsaga miatt kiesett ido miatt? bazzeg, megyek perelem a m$-t, milliomos leszek, hurra \o/
ja, hogy ok SEMMIFELE garanciat nem vallalnak, ha a programozoik faszsaga miatt megy tonkre barmi vagy okoz soknapos pluszmunkat, csak a pofamba rohognek? de nem baj, ott legalabb megvan az a csodas erzesem, hogy 'lehet hogy szar es idegbajt kapok tole, de legalabb fizettem erte, igy mar sokkal jobb :D'

nem tudom, ilyen meg nem kerult sosem a kezem koze.

viszont olyan mar igen, hogy X oran belul kapsz segitseget. ez pedig a "ja, hogy ok SEMMIFELE garanciat nem vallalnak, ha a programozoik faszsaga miatt megy tonkre barmi vagy okoz soknapos pluszmunkat, csak a pofamba rohognek?" kijelenteseddel eleg eles ellentetben all.

miert allna ellentetben? az hogy support-szerzodest kotunk, igy ha nyomorom van, akkor jonnek megoldani, illetve az, hogy az SQL server bugja miatt eltunik a sullyesztoben par tucat tablam parszazezer rekorddal, ami utan mondjuk ahelyett hogy 'toltsd vissza a backupot' kjelentessel elinteznek, karteritest fizetnek, egymassal semmilyen kapcsolatban nem all szerintem...

"Elhiheted, hogy amint megfelelő összeggel rendelkezem és lesz megfelelő alternatíva, úgy felejtem el az openszószt ahogy azt kell."
+1
Teljesen együttérzek veled, én is heggesztgetem a céges rendszereket openszósz alapon, mindig van valami,
arról nem is beszélve, hogy mire összekalapálok egy apache/sql/ldap/samba/netatalk/kerberos/ical server/itunes server/imap server/smtp server/dns server/dhcp server/stb.stb. server boxot úgy, hogy jól működik és finomra van hangolva, addig abban a két hétben tudtam volna effektive pénzt is keresni, a server kérdést meg megoldottuk volna egy osx serverrel, kb. 10 kattintásból. Hogy miért nem azt vettünk? Mert az xserve vas egy kalap fos, és durvadrága (volt akkor), a mostani vasunk egy x4150-es, a legjobb számítógép, amit eddigi életemben láttam, teljesen elégedett vagyok vele, csak ez az openszóz-világ bosszant fel néha...

> Viszont, tudtad kedves Hiéna, hogy a linux ingyenes, és szabadon használható? Egyszerűbben: ingyé van, ha akarod használod, ha nem nem, rád nem kényszeríti senki.

Ez az egyik legjobb érv, mikor valaki majdnem indok nélkül azt mondja a linuxra, hogy szar.

  1. nem értesz hozzá, hiszen worksforme!
  2. reportoltad? nem? nem vagy ember!
  3. ingyen van, miért sír a szád?
  4. használj mást

Ezek az igazán mélyen szántó ellenérvek. :)
__________________________________
2e845cb4c3a5b5bd6508455b1739a8a2

Nem lehet memória fragmentálódás a probléma oka?
(Egyik rendszeren sem egészséges a memóriát ennyire kihasználni)
pagecache mérete/swapiness jól van beállítva?
pagecache-t próbáltad eldobni mielőtt betöltöd a modult?

Hardvergyártókat ha nem akarod támogatni akkor:
- vegyél még 64MB memóriát (ez lehet nehézségekbe ütközik)
- vegyél 1 használt P3-at 8000+ Ft
- vegyél 1 használt P4-et 20000+ Ft

Fragmentálódik. És? Arra az a megoldás, hogy bootoljunk re? Nem kéne ezügyben a kernelnek valamit alkotnia inkább? Eszerint lassan eljön a Windows95 esetében anno kötelező "eü. reboot" a Linuxnál is? Csak cirka 15 évvel van lemaradva ezzel, bár azóta a Windows esetében ez megszűnt :-P

No, ha majd ilyen PnP-oboák nem lesznek (mintha a w95 is pnp-be döglött volna bele egy bemutatón..), akkor majd lehet beszélni arról, hogy a Linux desktop éve közeleg :-)

Az se megoldás szerintem, hogy 2010ben Pentium IIre és 64MB RAMra és állandó 100% memória használatra optimalizáljanak desktop célú OSt mikor a telefonokban már több memória van. Az említett gép nem egy tipikus desktop gép. Életkora minimum 10 év és nem hiszem, hogy akármelyik általános célú mai desktop OSt könnyű lenne rajta futtatni. Úgy is fel lehetne fogni, hogy a Linux legalább fut rajta...

Itt nem PnP hanem memória kezelési probléma van és gyanúsabb, hogy v4l hiba van. (vagy a memória fragmentálódás)

Tipp: http://puschitz.com/pblog/?p=28

Nekem van 4G RAM-os vasam, ami biza' időnként eléggé ki vagyon tömve amúgy memóriaügyileg. Desktop-on az egyik esetben 1G van, ott néha sikerül elfogyasztani a meoárt -- persze, ott kevésbé fáj az, ha reboot kell a káosz megoldásához, de attól még probléma, attól még el van valami kufva...

Hiena te rohadt egy m$ bérenc vagy :)

ennyire szar lenne a vm-je?
UVM > *

--
NetBSD - Simplicity is prerequisite for reliability

Baromira nem értek hozzá, de:
- a memória felszabadítását/foglalását nem a videokamera "drivernek" kellene végeznie (ez hivatalos kernel modul)?
- vm.swappiness hogy áll?
- nem leakel vmelyik program?

1.) A konkrétumok ismerete nélkül nem lehet kijelenteni. Elég sokféle memória allokálási mód van a kernel modulok esetén. Meg kellene nézni a webkamera modul forrását, hogy hogyan allokál memóriát, erre próbáltam célozni.
2.) Sehogy. Semmi köze a problémának a vm kezeléshez.
3.) Amíg te ezzel a válasszal megelégedsz, addig másnak ez nem kielégítő. Ez a dolog nem minősíti az embert, csak jellemzi.

"3.) Amíg te ezzel a válasszal megelégedsz, addig másnak ez nem kielégítő. Ez a dolog nem minősíti az embert, csak jellemzi."

Szerinted ki hibázik akkor, ha egy unloadolt modul után nem szabadul fel az összes memória, akár még az is, amit a modul saját maga foglalt? Én vagy a kernel?
Amúgy az jellemzi, sőt minősiti is az embert (téged), hogy egy technikai jellegű eszmefuttatás/véleménycsere kellős közepébe képes személyeskedést belevinni. Troll-e vagy?

Van barmifele bizonyitek is arra, hogy a memoria nem szabadult fel? Eddig kizarolag spekulaciokat lehetett olvasni, tenyeket nem. Ha a modul nagyobb (itt a nagyobb erosen idezojelben ertendo, 4k-nal tobb mar ennek szamit) osszefuggo memoriateruletet akar foglalni kmalloc()-kal, akkor konnyen elofordulhat, hogy nem sikerul a fragmentacio miatt. Ajanlott olvasmany: http://www.win.tue.nl/~aeb/linux/lk/lk-9.html

Szerinted ki hibázik akkor, ha egy unloadolt modul után nem szabadul fel az összes memória, akár még az is, amit a modul saját maga foglalt? Én vagy a kernel?
Szóval sem mondtam hogy te tehetsz róla. Még csak azt sem, hogy user error.
De ahogy nem szeretem azt, hogy egy szar Windows driver esetén szar a windows-szal elintézik a dolgot egyesek, a te hozzáállásod is dühít.

A probléma okára próbáltam rákérdezni, mert érdekel (téged nem, csak gyártod a hozzászólásokat, és ez nem személyeskedés, tény).

Hogy ontopic is legyek:
Szerintem a jelen forgatókönyvben szereplők, amennyiben a probléma megoldására, és nem "a linux szar"-jellegű trollkodásra koncentrálok:

  • Linux-kernel azon belül:
    • module loader
    • v4l
    • etc
    • (feltételezetten) 3rd party kernel modul a webcamhoz
  • 3rd party appok tucatja
    • mplayer
    • mysql
    • etc

Jeleztem, hogy nem sok kernel modult írtam (baromira nem értek hozzá), de érzem a probléma összetettségét, pl:

  • Eddig nem derült ki, hogy a modul betöltődik-e, és csak olvasáskor száll-e el a memória utáni sóvárgással, vagy be se töltődik az említett hiba miatt. (bár sejtem, hogy betöltődött, különben a video device-t nem látná az mplayer.)
  • Lehet, h nem kmalloc-ot használ modul a "webcamból olvasáskor" történő memóriafoglalására, mert lehet hogy nagyobb adatról van szó egy kép esetén, emiatt a felszabadítását valószínűleg a modulnak kell elvégeznie, teszem azt get_zeroed_page-dzsel, amit fel kell szabadítani használat után.

Szal, ha pistike webcam drivert használ (saját forrásból), akkor én ott néznék szét.
Peace.