[OSy] flagy ve frame_alloc

Vlastimil Babka babka at dsrg.mff.cuni.cz
Tue Nov 27 21:27:53 CET 2007


Martina wrote:
> Dobry den,
>
>   
Dobry den,
> jestli chapu zadani dobre, tak pokud je ve flagach VF_AT_KSEG[0|1], tak
> smim pridelit pouze z teto oblasti. Pokud tam neni misto, vratim NULL.
> Naopak pokud je flag VF_AT_[KSEG3|KUSEG|KSSEG], tak se podivam, jestli
> je v dane oblasti misto, pokud ne, podivam se kamkoliv (vsude) jinam a
> pridelim pripadne odjinud. Je to tak?
>   
Je to tak.
> Dalsi otazkou je, jak se zachovat, pokud jsou flagy nulove a jak se
> zachovat, pokud jich je vic. Prislo by mi prirozene, pokud jsou flagy
> nula, abych mohla pridelit odkudkoliv.
Ano.
> Pokud je ji jich vice, vratila
> bych EINVAL, protoze napriklad kombinace flagu VF_AT_KSEG0 a VF_AT_KUSEG
> mi prijde nesmyslna ("chci *vyhradne* z KSEG0 a zaroven i treba odjinud").
>
>   
EINVAL byste urcite vracet nemela v zadnem pripade, narozdil od 
vma_alloc muze frame_alloc vratit pouze NULL nebo platnou adresu. Co se 
ruznych kombinaci tyce, plati standardni pravidlo o chovani ocekavanych 
testy a dodefinovanem a zdokumentovanem chovani, ktere se netestuje. Vas 
priklad by sel napriklad dodefinovat jako "Preferuji KUSEG, kdyz neni, 
tak KSEG0."

Vlastimil Babka





More information about the NSWI004 mailing list