From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id JAA19193 for caml-redistribution; Thu, 11 Feb 1999 09:50:41 +0100 (MET) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id AAA22753 for ; Thu, 11 Feb 1999 00:47:55 +0100 (MET) Received: from tequila.cs.yale.edu (TEQUILA.CS.YALE.EDU [128.36.229.152]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id AAA10376 for ; Thu, 11 Feb 1999 00:47:53 +0100 (MET) Received: from tequila.cs.yale.edu (localhost [127.0.0.1]) by tequila.cs.yale.edu (8.8.7/8.8.7) with SMTP id SAA07277 for ; Wed, 10 Feb 1999 18:47:52 -0500 To: caml-list@inria.fr Sender: weis From: Stefan Monnier Newsgroups: lists.caml Subject: Re: memory management, allocation and collection in kernel mode. References: <36C1E9EF@smtp.ftintl.com> Date: 10 Feb 1999 18:47:47 -0500 Message-ID: <5lk8xpvn18.fsf@tequila.cs.yale.edu> X-Newsreader: Gnus v5.5/Emacs 20.3 Path: tequila.cs.yale.edu NNTP-Posting-Host: tequila.cs.yale.edu X-Trace: 10 Feb 1999 18:47:47 -0500, tequila.cs.yale.edu >>>>> "Sussillo," == Sussillo, David 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