problémy s readahead_early při použití PAE kernelu v SL 5.4

Tomas Macek macek na fortech.cz
Úterý Prosinec 22 14:09:57 CET 2009


Mám tu Scientific Linux 5.4 s kernelem 2.6.18-164, 8 GB paměti, 
deska Intel SE7501WV2.

Dříve měl systém 3 GB RAM bez PAE kernelu, nebyl problém. Teď má 8 GB 
paměti a používám 
PAE kernel a je problém v tom, že když se spouští proces 
/etc/init.d/readahead_early, počítač vytuhne. On stačí ještě vypsat 
hlášení o spouštění kudzu, ale vytuhne/zavěsí, nevím jak to nazvat.
Na obrazovku se dá psát, enter vesele posunuje výpis, ale počítač ani po 
dlouhých minutách čekání nepokračuje v bootu.

Ověřil jsem, že je to tím readahead procesem. Podíval jsem se, co přesně 
spouští a když to samé udělám na příkazové řádce, systém stejně tak 
zavěsí:

FILES=$( ls /etc/readahead.d/*.early )
/usr/sbin/readahead $FILES

Když na ten proces pustim strace, je vidět, že zavěsí na nějakém souboru

...
open("/lib/libgobject-2.0.so.0", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0755, st_size=259128, ...}) = 0
readahead(3, 0, 259128

a dál už pak nepokračuje neznámo proč.

Zkoušel jsem šílenosti s kombinací jednotlivých paměťových modulů 
(starých i těch nových), nepomohlo. Zkoušel jsem vyhodit soubor, na kterém 
se readahead při čtení zasekne a to bylo samozřejmě taky k ničemu. 
Instalace Fedory 12 a její spuštění je bez problémů, ale už nevím, jestli 
je tam ten readahead spouštěný po startu (že to dělá readahead jsem 
zjistil až po přeinstalování). V manu k readahead() se píše, že tahle 
funkce "blocks until the specified data has been read.", ale že by takhle 
zavěšoval na každém souboru od určitého místa se mi moc věřit nechce. 
Zkoušel jsem v systému vytvářet 0.5 GB ramdisky tak dlouho, dokud systém 
nemusel zapisovat do RAM někde za hranici 4 GB, ale to systému nečinilo 
problémy (vytvořil jsem ramdrive, vytvořil filesystém a na něm vytvořil 
soubor přes celý disk programem 'dd', snad jsem to udělal dobře).

Možné vysvětlení je, že nové paměti jsou nekompatibilní s deskou a PAE 
kernel si na nich vyláme zuby, stejně jako že je chyba v PAE a systém při 
čtení hromady (asi 800) souborů zapisuje někde do oblasti PAE a pak se to 
sesype.

Vynechání readahead_early při startu pomáhá zdá se zatím na 100%, systém 
se nesekne. Dá se ale takovýmu počítači věřit? Má někdo nápad co s tím?

Děkuji, T. Macek


Další informace o konferenci Linux