[SSI] openssi/kernel/ipc shm.c,1.31,1.32
Roger Tsang <[email protected]> Mon, 15 Mar 2010 06:22:40 +0000
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/ipc
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv29610/kernel/ipc
Modified Files:
Tag: OPENSSI-FC
shm.c
Log Message:
IPC (#ifdef IPC_SHM_RACE_FIX):
- Regression:
- ipc_shm_nodedown() might sleep while holding spinlock.
Index: shm.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/ipc/shm.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- shm.c 15 Mar 2010 00:55:17 -0000 1.31
+++ shm.c 15 Mar 2010 06:22:37 -0000 1.32
@@ -1573,6 +1573,7 @@
}
for (id = 0; id <= ids->max_id; id++) {
+retry:
shp = shm_lock(id);
if (!shp)
continue;
@@ -1587,8 +1588,10 @@
}
if (shp->shm_nattch == 0) {
if (!sem_held) {
+ shm_unlock(shp);
down(&ids->sem);
sem_held = 1;
+ goto retry;
}
SSI_ASSERT(shp->id == id);
ssi_local_destroy(shp);
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev