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 - [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to