Version française
Home     About     Download     Resources     Contact us    
Browse thread
memory management, allocation and collection in kernel mode.
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Stefan Monnier <monnier+lists/caml/news/@t...>
Subject: Re: memory management, allocation and collection in kernel mode.
>>>>> "Sussillo," == Sussillo, David <sussillo@ftintl.com> writes:
> Est ce qu'il ya quelqun qui sait ce que j'ai besoin de changer dans le "   
>  OCaml memory management system " pour que le "program" funcion bien dans   
> le "kernel" mode?

Problèmes:

1 - l'allocation de mémoire dans le kernel se fait généralement par page
    (c'est difficile est surtout coûteux d'allouer plusieurs pages
    consécutives).  Donc le GC doit garder trace de tout plein de pages
    un peu partout.

2 - l'adressage physique signifie qu'il n'y a pas de swapping.
    Donc si tu alloues 32MB et que tu ne les utilises pas, c'est 32MB
    temporairement inutilisables (plutôt que 32MB swappés sur disque
    où ils n'ennuient personne).  Il est donc désirable d'utiliser très peu de
    mémoire.  Un GC a tendance à gaspiller la mémoire un peu pour diminuer la
    fréquence des collections.

3 - le kernel n'est souvent pas préemptible (?), donc il faudra faire attention
    à appeler explicitement le yield() de temps à autre pour ne pas perdre trop
    d'interruptions et ne pas rendre la machine unresponsive.  O'Caml utilise
    déjà un GC incrémental si je ne me trompe, donc c'est peut-être pas trop
    difficile (famous last words).

4 - ...


-- Stefan