From owner-freebsd-hackers Tue Oct 9 10:52:28 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from midnightrealm.org (home-dhcp4-136.Colorado.EDU [198.11.31.136]) by hub.freebsd.org (Postfix) with SMTP id 8991C37B40D for ; Tue, 9 Oct 2001 10:52:19 -0700 (PDT) Received: (qmail 26340 invoked by uid 1011); 9 Oct 2001 17:48:09 -0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 9 Oct 2001 17:48:09 -0000 Date: Tue, 9 Oct 2001 13:48:09 -0400 (EDT) From: Matt Busigin To: freebsd-hackers@freebsd.org Subject: Message Passing Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Good morning fellow FreeBSDers: That was exciting. I couldn't post because my reverse DNS is buggered, so now I have to resort to using an American shell account for mail. Sloowww! :-) As a first experiment in hacking the FreeBSD kernel, I have written 'most' of a local message passing system as a kernel module. (I suppose it's not really a kernel hack, strictly speaking, then, is it? :) It is by no means fast, but because one can't change the 'proc' structure from within a kernel module, I had to store all of the messages, receiver and sender information in lists. Needless to say, it's slow, icky, and generally a bad idea. Handling inconsistencies is a pain in the arse. My questions are: 1/ Is there any better, more elegant way of storing the data that is closer to the process structure -- from within a module? 2/ Should I give up the module notion altogether, or at least artially couple the important bits (like pointers to the message queue in the struct proc definition) into the actual kernel source? I would appreciate any insight on the issue. If there is something I can read to gain enlightenment, I am quite happy to RTFM if someone can point out which manual to read. :-) For now, after looking at SVSV IPC, I am rewriting it so that the pointers are in the proc struct, and I am initialising them in kern_exec.c, but I am wishing/hoping there is a more elegant manner that I can do this completely in modules. Thank-you, Matt -- Matt Busigin - mbusigin@helios.spang.org.uk To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message