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 UAA24914 for caml-redistribution; Wed, 10 Feb 1999 20:14:52 +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 RAA15952 for ; Wed, 10 Feb 1999 17:54:18 +0100 (MET) Received: from proxy_02.ftintl.com (www.ftintl.com [12.3.88.194]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id RAA04226 for ; Wed, 10 Feb 1999 17:54:13 +0100 (MET) Received: from gateway.ftintl.com by proxy_02.ftintl.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.0.1457.7) id DWV88NWM; Wed, 10 Feb 1999 11:50:42 -0500 Received: from mail_01.ftintl.com ([192.168.221.43]) by 12.3.88.195 (Norton AntiVirus for Internet Email Gateways 1.0) ; Wed, 10 Feb 1999 16:54:31 0000 (GMT) Received: from 192.168.221.48 by mail_01.ftintl.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.0.1460.8) id 1413LPT1; Wed, 10 Feb 1999 11:53:20 -0500 Received: by smtp.ftintl.com with Microsoft Mail id <36C1E9EF@smtp.ftintl.com>; Wed, 10 Feb 99 12:19:59 PST From: "Sussillo, David" To: "'caml-list@inria.fr'" Subject: memory management, allocation and collection in kernel mode. Date: Wed, 10 Feb 99 11:51:00 PST Message-ID: <36C1E9EF@smtp.ftintl.com> Encoding: 50 TEXT X-Mailer: Microsoft Mail V3.0 Sender: weis Hello, 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? ------------------------------ Does anybody have an idea what would need to change in the OCaml memory management system in order for an OCaml program to function properly in kernel mode? (Linux on a PII). Linux has a physically mapped kernel space because it doesn' make much sense for a kernel to manage it's own virtual memory, so it just ignores the whole problem by ignoring virtual addressing. What that means is one has to deal with a physical addressing scheme if one wants to run in kernel/system mode. I've not looke at the OCaml sources at all, but I would assume that the memory management routines are assuming that whatever process they are running in is running in user mode. At this point I don't understand the ramifications of this fact. As far as I can tell, there are a couple of alternatives: a . The allocation and GC routines might not even think about the difference between user mode and system mode at all since memory is segmented and each process is running in it's own address space. However, if one was to run these routines in the kernel, then it would be important to 'gel' with the way memory is allocated in a kernel, at the very least, an offset of something like 0xffff0000. b. The allocation and GC rountines take full advantage of running in their own address space (and segment) and put memory all over the place. In which case, one would be hard pressed to figure out how to make it work the memory management machinery work in kernel mode. So then there are a few questions: 1. Will someone point out to me where I might look in the compiler source for all of the memory management routines, allocataion and GC? I guess it's important to see how the compiler reasons about the memory requirements of OCaml structures, as well as the emitted code (or libraries?) that it using during runtime. 2. If anyone has any insight into the memory management ramifications of running an OCaml program in kernel mode, might they elucidate? As I'm just starting out, I'm interested in both general and specific remarks. Thanks, -dave