Chyba v jádře?

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Únor 20 16:00:04 CET 2000


On Sat, 19 Feb 2000, Jan Pavlin wrote:

> Dále by jádro mělo regulovat počet uzamčených stánek v paměti, aby to
> přílis nezatězovalo systém. Mě se vsak voláním mlockall( MCL_FUTURE )
> a následně cyklickým voláním malloc(4096) podařilo uzamknout veskerou
> pamět. Dalsí alokace skončila ukončením procesu hláskou Bus error.
> Je to chyba v jádře?

Jadro mnozstvi zamcenych stranek reguluje dvema zpusoby: jednak kontroluje
RLIMIT_MEMLOCK, jednak se snazi, aby objem zamcenych stranek jednoho
procesu neprekrocil bez ohledu na rlimity polovinu vsech stranek RAM.
RLIMIT_MEMLOCK je defaultne ulimited a ta druha kontrola zrovna
v do_mmap() chybi, cili je mozno ji pres MCL_FUTURE obejit.

> A pokud ano, ve které verzi jádra je uz odstraněna? 

Kdyz se divam na 2.2, tak tam ten kod vypada isomorfne s 2.0, az na to,
ze misto suser() se kontroluje CAP_IPC_LOCK.

Otazka je, jak moc tezkou hlavu si z toho delat. Kdyz to bezi jako root,
tak to ma milion jinych moznosti, jak system zborit, a kdyz o to jde, tak
se da nastavit RLIMIT_MEMLOCK.

P.S. Smrt vsem, co posilaji e-maily v CP 1250!!!

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."





Další informace o konferenci Linux