[OSy] msim - 4GB fyzickej pamate?

Petr Tuma petr.tuma at dsrg.mff.cuni.cz
Wed Dec 10 10:26:20 CET 2008


Dobry den,

> Mame byt schopni adresovat 4GB fyzickej pamate.

Prosim napiste mi, ze ktere casti zadani na toto usuzujete ?

> Dalej som z fungovania funkcie find_block_end () definovanej v 
> Kaliste v subore mm/malloc.c pochopil, ze vysledok zapisu/citania z 
> pamate, ktora nie je definovana v msim.conf, je tiez nedefinovany. 
> Mam si teda pre kazdy segment naalokovat par MB pamate (pre KSEG0, 
> KUSEG, ...) a fungovat tak so zmensenu fyzickou pamatou?

Neni mi jasne, na co se vlastne ptate. Proc byste si mel alokovat pro
kazdy segment par MB pameti ? A jake alokovani mate na mysli, v
msim.conf, ve vasem kernelu, ... ?

> Nechce sa mi prechadzat testy a pracne zistovat, ktore stranky/ramce 
> a v ktorych segmentoch si testy skusaju naalokovat a podla toho si 
> pridat prislusnu fyzicku pamat do msim.conf.

Zda se, ze neco chapete zcela spatne. Testy nezkouseji alokovat
konkretni ramce, to by nedavalo smysl ...

> Nerad by som sa vsak ocitol v situacii, kedy by som mal definovane v 
> msim.conf napr. fyzicku pamat segmentu KSEG0 od adresy 0x00000000 po 
> 0x00200000 a uzivatel (=test :-)) by si chcel alokovat fyzicku pamat 
> na pevnej adrese napr. 0x001D0000 velkosti 100 ramcov (proste mimo 
> definovanu fyzicku pamat v mojom MSIMe).

V takovem pripade je prece chovani jasne definovane: pokud zavolate
vma_alloc s flagem VF_VA_USER a pamet neni k dispozici, funkce proste
vrati EINVAL ("vraci ... EINVAL pokud nebylo mozne alokovat oblast se
zacatkem na adrese @from v danem segmentu virtualniho adresoveho
prostoru procesoru").

> Potom by sa zrejme nedalo ocakavat spravne chovanie programu, aj ked
> v principe by kod nasho kernelu mohol pracovat spravne.

Nesnazte se najit takovy vyklad zadani, ktery nedava smysl :-) ...

Pokud vim, ocekava se pouze, ze vas kernel bude pracovat s rozumnym 
objemem fyzicke pameti (napriklad blok od fyzicke adresy 0 velikosti 
radu megabajtu az treba stovek megabajtu). Z toho pak muzete snadno 
pridelovat stranky ve vsech segmentech ...

Petr Tuma





More information about the NSWI004 mailing list