[SSI] openssi/kernel/include/linux dpvproc.h, 1.21, 1.22 vproc.h, 1.30, 1.31

Roger Tsang <[email protected]> Mon, 25 Oct 2010 06:00:59 +0000
Newsgroups gmane.linux.cluster.ssic.cvs
Message-ID <[email protected]>
Update of /cvsroot/ssic-linux/openssi/kernel/include/linux
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv13817/include/linux

Modified Files:
      Tag: OPENSSI-FC
	dpvproc.h vproc.h 
Log Message:
- Fix BUG at rexecve_server_setup(). This can happen if the process was just migrated and is doing rexecve() for this node. Solution is set PV_MIGRATED pvp_flag so that vproc_giveback() knows delayed dealloc applies and wait for final put_task_struct to touch vp_relse before re-using vproc struct. (#ifdef TASK_HOLD_VPROC)
- Remove unnecessary use of write lock on tasklist_lock in migrate_server_setup() and rexecve_server_setup().

 cluster/ssi/util/load_level.c          |   26 +++++++++++------------
 cluster/ssi/vproc/rproc_cli_vproc.c    |   20 +++++++----------
 cluster/ssi/vproc/rproc_server.c       |   28 +++++++++++++++++++++++++
 cluster/ssi/vproc/rproc_server_pproc.c |    7 ------
 cluster/ssi/vproc/rproc_svr_vproc.c    |    6 -----
 cluster/ssi/vproc/vp_subr.c            |    2 -
 include/linux/dpvproc.h                |    3 ++
 include/linux/vproc.h                  |    2 -
 8 files changed, 55 insertions(+), 39 deletions(-)


Index: dpvproc.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/dpvproc.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- dpvproc.h	3 May 2010 06:18:14 -0000	1.21
+++ dpvproc.h	25 Oct 2010 06:00:57 -0000	1.22
@@ -232,6 +232,9 @@
 #define PV_ISWAITCLONE		0x00080000	/* Clone for wait's purposes */
 #define PV_SYS			0x00100000	/* system process */
 #define PV_CHKPT_RESERV         0x00200000
+#ifdef TASK_HOLD_VPROC
+#define PV_MIGRATED		0x00400000	/* Process migrated away */
+#endif
 #define PV_IS_TGID		0x00800000	/* thread group leader */
 #define PV_STRESS_MIG		0x01000000	/* migrate on every syscall */
 #define PV_STRESS_DONE		0x02000000	/* migrate on already done */

Index: vproc.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/vproc.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- vproc.h	25 Oct 2010 04:34:59 -0000	1.30
+++ vproc.h	25 Oct 2010 06:00:57 -0000	1.31
@@ -58,7 +58,7 @@
 #endif
 #endif /* ATOMIC_VPROC_REFCNT */
 #ifdef TASK_HOLD_VPROC
-	int		  vp_relse;	/* coordinate vproc de-alloc */
+	volatile int	vp_relse;	/* coordinate vproc de-alloc */
 #define			  VP_GIVEBACK	0xBABECAFE
 #define			  VP_DEAD	0xBBADF00D
 #endif


------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev