[SSI] openssi/kernel/include/cluster/ssi load_level.h,1.12,1.13
Roger Tsang <[email protected]> Mon, 25 Oct 2010 04:53:05 +0000
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv754/include/cluster/ssi
Modified Files:
Tag: OPENSSI-FC
load_level.h
Log Message:
VPROC:
- In ssi_do_execve() optimize away is_loadlevelable() when the chosen node is the current node.
VPROC (#ifdef REXEC_LOADTABLE_FAST):
- In __ssi_do_execve() retry on -EREMOTE. There could be other nodes in cluster that are available.
- Rename __ssi_do_execve() to __ssi_choose_node().
- Convert rexec_loadtable[] array to rexec_loadmap Linux bitmap.
- Do lockless rexec_loadmap update. Reduce contention in exec_balance(), rexecve(2) and execve(2).
- Remove redundant altload() calculations since the results only change during loadinfo_received() or nm_master_send(). Evaluate altload() and store result in altload element in loadinfo structure.
cluster/ssi/mosixll/balance.c | 19 +++++
cluster/ssi/mosixll/load.c | 13 +++
cluster/ssi/util/load_level.c | 78 +++++++++++++----------
fs/exec.c | 102 +++++++++++++++++++------------
include/cluster/ssi/load_level.h | 7 +-
5 files changed, 144 insertions(+), 75 deletions(-)
Index: load_level.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/load_level.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- load_level.h 27 Oct 2009 03:18:30 -0000 1.12
+++ load_level.h 25 Oct 2010 04:53:03 -0000 1.13
@@ -30,6 +30,9 @@
struct loadinfo {
clusternode_t node;
+#ifdef REXEC_LOADTABLE_FAST
+ unsigned long altload;
+#endif
unsigned long load;
int ncpus;
unsigned long speed;
@@ -80,11 +83,11 @@
#ifdef REXEC_LOADTABLE_RACE_FIX
#ifdef REXEC_LOADTABLE_FAST
-extern clusternode_t *rexec_loadtable;
+extern DECLARE_BITMAP(rexec_loadmap, NSC_MAX_NODE_VALUE);
#else
extern int *rexec_loadtable;
-#endif
extern struct rw_semaphore rexec_loadtable_sem;
+#endif
#else
extern int rexec_loadtable[NSC_MAX_NODE_VALUE + 1];
#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