[SSI] openssi/kernel/include/cluster/ssi/ipc unixnm.h,1.14,1.15

Roger Tsang <[email protected]>
Newsgroups gmane.linux.cluster.ssic.cvs
Message-ID <[email protected]>
Update of /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/ipc
In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv8304/include/cluster/ssi/ipc

Modified Files:
      Tag: OPENSSI-FC
	unixnm.h 
Log Message:
IPC:
- Fix uninitialized list_head in rmtunix_socket_info structure; SSI-1.9.0 bug. (#ifdef IPC_STALE_RMTUNIX_CACHE_FIX)

VPROC:
- Remove deprecated RW semaphore implementation of vproc list lock.
- Regression:
  - semi-deadlock in vproc_slave_carelist_create(); might sleep
    while holding vproc list lock. (#ifdef VPROC_LIST_SPINLOCK)

 cluster/ssi/vproc/dvp_debug.c       |   10 -------
 cluster/ssi/vproc/dvp_init.c        |   31 ++---------------------
 cluster/ssi/vproc/dvp_misc.c        |   24 +++---------------
 cluster/ssi/vproc/dvp_pvpsops.c     |   28 ++++-----------------
 cluster/ssi/vproc/dvp_vpops.c       |    8 ------
 cluster/ssi/vproc/nd_setup.c        |   24 +++---------------
 cluster/ssi/vproc/nd_slave.c        |   35 +++++++++++++++++++-------
 cluster/ssi/vproc/nsc_initproc.c    |    7 -----
 cluster/ssi/vproc/procfs_subr.c     |   24 ++++++------------
 cluster/ssi/vproc/rproc_svr_vproc.c |    8 ------
 cluster/ssi/vproc/vp_init.c         |   14 ++--------
 cluster/ssi/vproc/vp_subr.c         |   48 ++++++++++--------------------------
 include/cluster/ssi/ipc/unixnm.h    |    8 ++++--
 include/linux/vproc.h               |   19 ++++++--------
 14 files changed, 84 insertions(+), 204 deletions(-)


Index: unixnm.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/ipc/unixnm.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- unixnm.h	8 Feb 2009 02:44:43 -0000	1.14
+++ unixnm.h	9 Feb 2009 05:00:36 -0000	1.15
@@ -249,6 +249,7 @@
 	--rmtunix_cache_size;
 #endif
 	spin_unlock(&rmtunix_cache_listlock);
+	/* Caller to free info */
 #endif /* !RCU_RMTUNIX_CACHE */
 }
 
@@ -257,13 +258,15 @@
 {
 	struct rmtunix_socket_info *info =
 			(struct rmtunix_socket_info *)(unix_peer(s));
+#ifndef RCU_RMTUNIX_CACHE
 	int orphan = 0;
 
-#ifndef RCU_RMTUNIX_CACHE
 	spin_lock(&rmtunix_cache_listlock);
-#endif
 	if (!info) {
 		orphan = 1;
+#else
+	if (!info) {
+#endif
 		info = rmtunix_cache_lookup(s);
 #ifdef IPC_STALE_RMTUNIX_CACHE_FIX
 		if (!info)
@@ -309,6 +312,7 @@
 		goto out;
 
 #ifdef IPC_STALE_RMTUNIX_CACHE_FIX
+	INIT_LIST_HEAD(&info->list);
 	atomic_set(&info->rsk_refcnt, 1);
 	INIT_SPIN_LOCK(&info->rsk_spinlock);
 #endif


------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
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.