[patch 11/21] Fix /proc/$/om/where
Florian Delizy <[email protected]> Wed, 01 Nov 2006 05:11:36 +0100
| Newsgroups | gmane.linux.cluster.openmosix.devel |
|---|---|
| Message-ID | <[email protected]> |
This patch fixes /proc/$/om/where as pointed by Carl Radford, the 'where' proc should not return 'home' if the process is currently migrating... Added a little test to report migrating, which will be the default behavior for now ------------------------------------------------------------------------- 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
fix_proc_pid_get_where.patch
(text/x-patch, 1.1 KB)
Subject: [patch @num@/@total@] Fix /proc/$/om/where
This patch fixes /proc/$/om/where as pointed by Carl Radford,
the 'where' proc should not return 'home' if the process is currently
migrating...
Added a little test to report migrating, which will be the default
behavior for now
Index: linux/hpc/proc.c
===================================================================
--- linux.orig/hpc/proc.c 2006-10-26 15:35:48.000000000 +0200
+++ linux/hpc/proc.c 2006-10-27 22:10:11.000000000 +0200
@@ -113,12 +113,13 @@
struct sockaddr_in *saddr;
unsigned int addr;
- if (task_test_dflags(p, DMIGRATED)) {
- /* FIXME: what if process is currently migrating? */
+ if ( task_test_dreqs(current, DREQ_MOVE) ) {
+ length = sprintf(buf, "migrating\n");
+ } else if (task_test_dflags(p, DMIGRATED)) {
saddr=(struct sockaddr_in *)p->om.whereto;
addr=saddr->sin_addr.s_addr;
length=sprintf(buf, "%u.%u.%u.%u\n", (0x000000FF & addr), (0x0000FF00 & addr)>>8,
- (0x00FF0000 & addr)>>16, (0xFF000000 & addr) >> 24);
+ (0x00FF0000 & addr)>>16, (0xFF000000 & addr) >> 24);
} else
length = sprintf(buf, "home\n");