Date: Tue, 9 Oct 2001 13:48:09 -0400 (EDT) From: Matt Busigin <solaris@midnightrealm.org> To: freebsd-hackers@freebsd.org Subject: Message Passing Message-ID: <Pine.LNX.4.21.0110091339110.25937-100000@midnightrealm.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.21.0110091339110.25937-100000>