Re: intercommunications between Linux kernel modules

From: david
Date: Fri Oct 07 2011 - 00:01:16 EST


On Thu, 6 Oct 2011, Cyclonus J wrote:

On Thu, Oct 6, 2011 at 7:04 PM, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
Cyclonus J <cyclonusj@xxxxxxxxx> writes:

I am looking for a way to do an IPC-like communications between two
linux kernel modules, such as mqueue or shared memory. After searching
for a while, I can't find such information available inside existing
linux kernel or online.

So, my question is if this is something discussed before here and gets
rejected or still might be accepted in the mainstream kernel tree?

All kernel memory is shared in Linux, so the concept doesn't make sense.

If you want to send messages or communicate inside the kernel there are
lots of different facilities available.

Andi,

That would be great! Could you point me to some facilities that can do
this message passing between kernels?

what you are missing is that there aren't two different kernels. it's one big process. think multi-threaded programming instead of inter-process communication. You don't even have well defined threads to work with so you can't say "I'm in thread 1 and need to communicate with thread 2", you need to think "I'm in this routine and I need to set a message in a way that another routine will read it", this can be as simple as just setting a variable (although you do need to make it the equivalent of 'thread safe' through appropriate locking or lock-free protection)

David Lang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/