[SSI] openssi/kernel/include/linux config.h, 1.28, 1.29 dpvproc.h, 1.18, 1.19 mosix.h, 1.4, 1.5
Roger Tsang <[email protected]>
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/include/linux
In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32011/kernel/include/linux
Modified Files:
Tag: OPENSSI-FC
config.h dpvproc.h mosix.h
Log Message:
MOSIX:
- Fix acquiring loadinfo_lock without disabling bottom half. Actually in OpenSSI
we don't need to disable bottom half for loadinfo_lock, but we are doing this f
or compatiblity with openMosix code. Eventually we should clean this up for Open
SSI.
- Fix mosix_task->pages_i_bring race.
- Comment unused code.
MOSIX (#ifdef SSI_BALANCE_MEMORY):
- Fix deadlock bug nesting task_lock() in write_lock_irq(&tasklist_lock).
- Remove inappropriate task_lock() for mm_struct->last_memsort, used, swapped.
- New mm_struct->memsort_lock spinlock replaces write_lock_irq(&tasklist_lock);
protects mm_struct->last_memsort, used, swapped.
VPROC:
- New separate spinlock for pvp_comm_de, pvp_comm_mnt deprecates task_lock(). (#
ifdef VPROC_LOCK_PVP_COMM)
Index: config.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/config.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- config.h 27 Oct 2009 03:18:30 -0000 1.28
+++ config.h 17 Nov 2009 06:09:02 -0000 1.29
@@ -326,6 +326,10 @@
# define CFS_PAGES_CACHE
#endif
+#ifdef VPROC_KMEM_CACHE
+# define VPROC_LOCK_PVP_COMM
+#endif
+
/*
* High-Availability / Failover
*/
Index: mosix.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/mosix.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- mosix.h 27 Oct 2009 03:18:30 -0000 1.4
+++ mosix.h 17 Nov 2009 06:09:02 -0000 1.5
@@ -22,13 +22,15 @@
extern void init_mosix(void);
extern void wake_up_mosix(struct task_struct *);
+#ifndef CONFIG_SSI
extern int mosix_wakeable(struct task_struct *);
+#endif
extern int mosix_go_home(int);
-extern int mosix_go_home_for_reason(int, int);
extern int stay_me_and_my_clones(uint32_t);
#ifdef CONFIG_SSI
extern void mosix_snap_load(unsigned long);
#else
+extern int mosix_go_home_for_reason(int, int);
extern void mosix_snap_load(int);
#endif
extern int mosix_fork_init_fields(struct task_struct *);
Index: dpvproc.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/dpvproc.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- dpvproc.h 27 Oct 2009 03:18:30 -0000 1.18
+++ dpvproc.h 17 Nov 2009 06:09:02 -0000 1.19
@@ -134,6 +134,12 @@
unsigned short pvp_localview;
struct dentry *pvp_comm_de; /* dentry for command name */
struct vfsmount *pvp_comm_mnt; /* vfsmnt for command name */
+#ifdef VPROC_LOCK_PVP_COMM
+ SPIN_LOCK_T pvp_comm_lock; /* protects pvp_comm_de, pvp_comm_mnt */
+#else
+#define VPROC_LOCK_COMM(v,s) task_lock(PVP(v)->pvp_pproc ? : current)
+#define VPROC_UNLOCK_COMM(v,s) task_unlock(PVP(v)->pvp_pproc ? : current)
+#endif /* !VPROC_LOCK_PVP_COMM */
#ifdef VPROC_DEBUG
#ifdef NOTDEF
/* JAG - Temporary HACK */
@@ -141,10 +147,10 @@
#else /* !NOTDEF */
char pvp_comm[16]; /* command name */
#endif /* !NOTDEF */
-#endif
-#if defined(NSCVPD_DEBUG) && defined(VPROC_DEBUG)
+#ifdef NSCVPD_DEBUG
u_int pvp_lasthold; /* time when ref count was bumped */
#endif
+#endif /* VPROC_DEBUG */
};
/*
@@ -605,6 +611,21 @@
DEINIT_SPIN_LOCK(&PVP((v))->pvp_flag_lock); \
} while(0)
+#ifdef VPROC_LOCK_PVP_COMM
+#define VPROC_LOCK_COMM_INIT(v) do { \
+ INIT_SPIN_LOCK(&PVP((v))->pvp_comm_lock); \
+ } while(0)
+#define VPROC_LOCK_COMM(v,s) do { \
+ LOCK_SPIN_LOCK(&PVP((v))->pvp_comm_lock); \
+ } while(0)
+#define VPROC_UNLOCK_COMM(v,s) do { \
+ UNLOCK_SPIN_LOCK(&PVP((v))->pvp_comm_lock); \
+ } while(0)
+#define VPROC_LOCK_COMM_DEINIT(v) do { \
+ DEINIT_SPIN_LOCK(&PVP((v))->pvp_comm_lock); \
+ } while(0)
+#endif /* VPROC_LOCK_PVP_COMM */
+
/*
* Macros used to prevent process migration (temporarily) and at the
* start and end of process migration (on origin node only).
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july