[SSI] openssi/kernel/include/cluster/ssi unix.h,1.15,1.16
Roger Tsang <[email protected]>
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi
In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv16276/include/cluster/ssi
Modified Files:
Tag: OPENSSI-FC
unix.h
Log Message:
IPC:
- Regression:
- rmtunix_socket_info structure lookup race. (#ifdef RCU_RMTUNIX_CACHE)
- missing sock_hold() for rmtunix_cache_info(). (#ifdef IPC_STALE_RMTUNIX_CACHE_FIX)
cluster/ssi/cfs/cfs_ipcshm.c | 4 -
cluster/ssi/cfs/svrcfs.c | 37 +++++----------
cluster/ssi/ipc/rmtunix.c | 14 +----
cluster/ssi/vproc/vp_subr.c | 5 --
include/cluster/ssi/ipc/unixnm.h | 93 ++++++++++++++++++++++++---------------
include/cluster/ssi/unix.h | 34 ++------------
include/linux/config.h | 5 +-
7 files changed, 83 insertions(+), 109 deletions(-)
Index: unix.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/unix.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- unix.h 7 Feb 2009 04:19:43 -0000 1.15
+++ unix.h 8 Feb 2009 02:44:43 -0000 1.16
@@ -274,37 +274,11 @@
/* SSI_XXX: Race with rmtunix_decache_info */
rmtunix_clrmagic(s);
kfree(s);
+ }
#else
- } else if (freeinfo) {
- struct rmtunix_socket_info *info =
- (struct rmtunix_socket_info *) s;
-
- might_sleep();
- if (!atomic_dec_and_lock(&info->rsk_refcnt, &rmtunix_cache_listlock))
- return;
- LOCK_SPIN_LOCK(&info->rsk_spinlock);
- if (!info->rsk_cached) {
- UNLOCK_SPIN_LOCK(&info->rsk_spinlock);
- spin_unlock(&rmtunix_cache_listlock);
- return;
- }
- info->rsk_cached = 0;
- UNLOCK_SPIN_LOCK(&info->rsk_spinlock);
-#ifdef RCU_RMTUNIX_CACHE
- list_del_rcu(&info->list);
-#else
- list_del(&info->list);
-#endif
- spin_unlock(&rmtunix_cache_listlock);
-
-#ifdef RCU_RMTUNIX_CACHE
- call_rcu(&info->rhead, rmtunix_dealloc);
-#else
- rmtunix_clrmagic(s);
- kfree(s);
-#endif
+ } else if (freeinfo)
+ __rmtunix_decache_info((struct rmtunix_socket_info *) s);
#endif /* IPC_STALE_RMTUNIX_CACHE_FIX */
- }
}
int
@@ -319,11 +293,13 @@
rmtunix_setmagic(s);
}
+#ifdef SSI_NOTUSED
static inline void
ssi_unix_clrmagic(unix_socket *s)
{
rmtunix_clrmagic(s);
}
+#endif
static inline int
ssi_unix_ismagic(unix_socket *s)
------------------------------------------------------------------------------
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