Re: memory management, allocation and collection in kernel mode.

From: Stefan Monnier (monnier+lists/caml/news/@tequila.cs.yale.edu)
Date: Thu Feb 11 1999 - 00:47:47 MET


To: caml-list@inria.fr
From: Stefan Monnier <monnier+lists/caml/news/@tequila.cs.yale.edu>
Subject: Re: memory management, allocation and collection in kernel mode.
Date: 10 Feb 1999 18:47:47 -0500

>>>>> "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



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:19 MET