[SSI] openssi/kernel/cluster/ssi/util rmtfb.c, 1.25, 1.26 rmtsock.c, 1.24, 1.25 ssidev.c, 1.29, 1.30
Roger Tsang <[email protected]> Fri, 05 Mar 2010 05:44:42 +0000
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/util
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv30165/kernel/cluster/ssi/util
Modified Files:
Tag: OPENSSI-FC
rmtfb.c rmtsock.c ssidev.c
Log Message:
* RMTFB:
- Allocate from slab rmtfb_cli / rmtfb_svr structs. (#ifdef RMTFB_KMEM_CACHE)
- rmtfb_remote_tty_ino() is no longer inlined. (#ifdef
REOP_EXPORT_PATH_SVRNODE)
- Rename cluster/ssi/util/rmtfb.c:hash() to rfbhash(). Use Linux hashing
routine.
- Split rmtfb_set_bit() into itself and rmtfb_clear_bit().
* RMTFB (#ifdef RMTFB_HASH_LOCKLESS):
- Implement lockless rfb_hash list traversal. Remove locks in various rmtfb_*
code paths. Reduce latency in pipes, etc.
- Fix file struct leak on server when client lost race with another
rmtfb_newcli().
* RMTFB (#ifdef RMTFB_REFCNT_FIX):
- Consolidate rfb_refcnt in rmtfb_cli / rmtfb_svr structs into rmtfb_cmn
struct.
cluster/ssi/util/rmtfb.c | 629 +++++++++++++++++++++++++++----
cluster/ssi/util/rmtsock.c | 4
cluster/ssi/util/ssidev.c | 2
cluster/ssi/vproc/dvp_pvpops.c | 2
fs/fifo.c | 13
include/cluster/ssi/util/rmtfb.h | 31 -
include/linux/config.h | 7
7 files changed, 594 insertions(+), 94 deletions(-)
Index: rmtsock.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/util/rmtsock.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- rmtsock.c 13 Feb 2010 14:52:25 -0000 1.24
+++ rmtsock.c 5 Mar 2010 05:44:39 -0000 1.25
@@ -438,7 +438,9 @@
goto out_fput;
}
rmtfb_putsvr(rfb);
- put_filp(file); /* the rmtfb server has it held */
+
+ /* the rmtfb server has it held via implicit rmtfb_set_bit() */
+ put_filp(file);
newsock->file = file;
file->f_vfsmnt = mntget(sock_mnt);
Index: rmtfb.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/util/rmtfb.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- rmtfb.c 17 Dec 2009 06:43:51 -0000 1.25
+++ rmtfb.c 5 Mar 2010 05:44:39 -0000 1.26
@@ -27,6 +27,7 @@
#include <asm/system.h>
#include <linux/cluster.h>
#include <linux/fs.h>
+#include <linux/hash.h>
#include <linux/kernel.h>
#include <linux/limits.h>
#include <linux/list.h>
@@ -51,12 +52,29 @@
#define ERFB_RELEASE 700
[...1106 lines suppressed...]
LOCK_EXCL_RW_LOCK(&rmtfb_clitbl_lock);
list_del(&rfb->common.rfb_hash);
@@ -1267,7 +1744,7 @@
int ctr;
printk("server (0x%p)\n", (void *) rfb);
- printk(TAB "hash(ino) = 0x%x\n", (unsigned int) hash(ino));
+ printk(TAB "rfbhash(ino) = 0x%x\n", (unsigned int) rfbhash(ino));
printk(TAB "rfb_file = 0x%p\n", (void *) file);
printk(TAB TAB "ino = %d\n", (int) ino);
printk(TAB "rfb_id = %lu\n", id);
@@ -1291,7 +1768,7 @@
return;
printk("client (0x%p)\n", (void *) rfb);
- printk(TAB "hash(id) = 0x%x\n", (unsigned int) hash(id));
+ printk(TAB "rfbhash(id) = 0x%x\n", (unsigned int) rfbhash(id));
printk(TAB "rfb_file = 0x%p\n", (void *) file);
printk(TAB "rfb_id = %lu\n", id);
printk(TAB "rfb_magic = 0x%x\n", (unsigned int) rfb->rfb_magic);
Index: ssidev.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/util/ssidev.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- ssidev.c 2 Feb 2010 05:23:55 -0000 1.29
+++ ssidev.c 5 Mar 2010 05:44:39 -0000 1.30
@@ -1359,7 +1359,9 @@
sfdp->pf_file = NULL;
} else {
sfdp->pf_file = rfb->common.rfb_file;
+#if 0
SSI_ASSERT(sfdp->pf_file != NULL);
+#endif
get_file(sfdp->pf_file);
rmtfb_putsvr(rfb);
}
------------------------------------------------------------------------------
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