Re: om-2.6 patch for kcomd (pre-pre-alpha)

"Matt Dew" <[email protected]>
Newsgroups gmane.linux.cluster.openmosix.devel
Message-ID <[email protected]>
Hi again,
 As has been pointed out to me that patch applies but does not compile.
I have done git pulls periodically to see if there are any changes but I
have gotten '...up-to-date...' messages so I assumed that meant there
were no changes.  Unfortunately there were, so that patch will not work.






Tab,

When using the straight git, if kcomd is compiled as a module, the
following error pops up.

hpc/built-in.o(.text+0xe57): In function `comm_accept':
hpc/comm.c:296: undefined reference to `sock_alloc'
make: *** [.tmp_vmlinux1] Error 1

It's due to sock_alloc being declared static (KCOMD_NSTATIC) unless
kcomd is selected as 'y'.  

Attached is a patch to let it compile if kcomd is a 'm' or a 'y'.





On Wed, 2006-07-12 at 01:25 +0000, Matt Dew wrote:
> Hi all,
>   Here's a patch to the current git tree (7/11/06) that contains the
new
> kcomd code.   kcomd is the new kernel daemon that handles migration
for
> the processes.
> 
> Moshe, Bruce, if this patch is too large I can put it on a web server
> for people to download.   ?
> 
> There is a README included but here's a quick intro.
> 
> All communication between nodes is done via packets.  Each packet
> consists of a header, which has information about which pid this
packet
> belongs to, how much data accompanies this packet, the type of packet
> (initial migration, system call, signal, etc), and the payload of data
> that immediately follows.  
> 
> The processes are responsible for generating the packets, adding them
to
> linked lists and then signalling the kcomd daemon that a packet is
ready
> for transmission.  All this is done in the kernelspace stubs of the
> userspace processes.  The userspace programs don't see anything.
> 
> kcomd sleeps until there is work to do. Either a received packet to
> process or a packet to send.  Then goes back to slees.
> 
> kcomd wakes up on the signal and sends the packet to the corresponding
> node.  When a packet is received, kcomd wakes up and checks to see
which
> process this packet belongs to, puts it into the process's linked list
> and informs the process it has either new data or a response to a
> previously sent packet.
> 
> The code isn't very clean but if I wait until I'm happy with it I'll
> never send it. :)
> 
> compile kcomd as a module.
> 
> Currently, issuing a migration command (echo $IP > /proc/../om/where)
> will send a migration init packet to the other node, which sends a
> reply.   You can run as many simulaneously as you want.  There doesn't
> appear to be any memory leaks. 
> 
> This is just to show that communications are working and the
foundation
> plan is solid.  Adding the code for real migrations is next, as is a
> massive cleanup.  :)
> 
> Please try the patch and review the code. I'm not a programmer and I
am
> asking for help.  There are plenty of commented printk statements you
> can uncomment to get a better idea of what's happening.
> 
> 
> config options:
> #
> # HPC options
> #
> CONFIG_KCOMD=m
> CONFIG_OPENMOSIX=y
> # CONFIG_OPENMOSIX_VERBOSE is not set
> # CONFIG_OPENMOSIX_DEBUG is not set
> # CONFIG_OPENMOSIX_CTRL_FS is not set
> 
> Matt


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

_______________________________________________
openMosix-devel mailing list
openMosix-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/openmosix-devel
kcomd_nstatic.patch (text/plain, 984 B)
diff -Naur a/fs/select.c b/fs/select.c
--- a/fs/select.c	2006-07-14 10:03:34.000000000 -0600
+++ b/fs/select.c	2006-07-14 09:55:47.000000000 -0600
@@ -283,7 +283,7 @@
 
 	return retval;
 }
-#ifdef CONFIG_KCOMD
+#ifdef CONFIG_KCOMD_MODULE
 EXPORT_SYMBOL_GPL(do_select);
 #endif
 
diff -Naur a/include/linux/compiler.h b/include/linux/compiler.h
--- a/include/linux/compiler.h	2006-07-14 09:44:36.000000000 -0600
+++ b/include/linux/compiler.h	2006-07-14 09:44:16.000000000 -0600
@@ -42,7 +42,7 @@
 #define OM_NSTATIC static
 #endif
 
-#ifdef CONFIG_KCOMD
+#if defined(CONFIG_KCOMD) || defined(CONFIG_KCOMD_MODULE)
 #define KCOMD_NSTATIC
 #else
 #define KCOMD_NSTATIC static
diff -Naur a/net/socket.c b/net/socket.c
--- a/net/socket.c	2006-07-14 10:01:08.000000000 -0600
+++ b/net/socket.c	2006-07-14 09:54:21.000000000 -0600
@@ -484,7 +484,7 @@
 	put_cpu_var(sockets_in_use);
 	return sock;
 }
-#ifdef CONFIG_KCOMD
+#ifdef CONFIG_KCOMD_MODULE
 EXPORT_SYMBOL_GPL(sock_alloc);
 #endif
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.