[SSI] openssi/kernel/include/linux config.h, 1.26, 1.27 dpvproc.h, 1.16, 1.17 nd_origin.h, 1.5, 1.6 vproc.h, 1.25, 1.26
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-serv29491/include/linux
Modified Files:
Tag: OPENSSI-FC
config.h dpvproc.h nd_origin.h vproc.h
Log Message:
Bug fixes and enhancements (see ChangeLog)
Index: config.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/config.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- config.h 24 Feb 2009 01:51:47 -0000 1.26
+++ config.h 24 Mar 2009 04:26:29 -0000 1.27
@@ -35,7 +35,6 @@
/*
* Fixes
*/
-#define CFS_WRITEPAGES_AT_SVR_SKIP_BDI
#define CFS_MIRROR_LOCK_WAIT
#define CLMS_CLIENT_PERFORM_NODEUP_DISCOVER_MOUNTS
#define REOP_EXPORT_PATH_SVRNODE
@@ -91,6 +90,12 @@
#define CFS_STALE_SUPER_BLOCKS
#define CFS_IPCSHM_DENTRY
#define SSI_DCACHE_RACE_FIX
+#define WRITE_LOADLIST_FIX
+#define PROC_CLUSTER_DIR_ENTRY_FIX
+#define CFS_VFSMOUNT_RACE_FIX
+#define SSI_RW_VERIFY_AREA_FIX
+#define VPROC_LOCKING_CONTEXT_FIX
+#define VPROC_CARECOUNT_FIX
/*
* Experimental
@@ -100,7 +105,7 @@
#define RMTSOCK_SENDMSG_IOVECS
#define SSI_CFS_NEGDCACHE
#ifdef REOP_EXPORT_PATH_SVRNODE
-/* # define SSI_SOCK_REOP_TYPE */
+# define SSI_SOCK_REOP_TYPE
#endif
#ifdef CFSD_OPEN
@@ -202,10 +207,12 @@
#define NSC_ASYNC_LINUX_LIST
#ifdef CFS_PAGEVEC
-/* Avoid remote scatter/gather I/O */
+/* Avoid remote scatter/gather I/O. Not enabled by default. */
+#if 0
# define CFS_PAGEVEC_BUFFER_READ
# define CFS_PAGEVEC_BUFFER_WRITE
#endif
+#endif
#define NSC_ASYNC_SLAB_NOFS__FLAG
@@ -241,17 +248,39 @@
# define NSC_ASYNC_ENTRY_KMEM_CACHE
#endif
-#if defined(CFSTOKHOLD_LINUX_LIST) && defined(CFS_ZAP_CACHES) && defined(CLITOK_KMEM_CACHE)
-# define CFSTOK_INTR
+#define LINUX_SSI_INTERRUPTIBLE
+
+#if defined(LINUX_SSI_INTERRUPTIBLE) && defined(CFSTOKHOLD_LINUX_LIST) && defined(CFS_ZAP_CACHES)
+/* NOTYET need to prevent pre-emptive req_release # define CFSTOK_INTR */
#endif
#define RMTUNIX_SOCK_INFO_CACHE
#define NSC_IPC_RWLOCK_DOWNGRADE
+/* NOTYET #define SSI_LOOKUP_DENTRY_HASH */
+
+#if defined(LINUX_SSI_INTERRUPTIBLE) && defined(KERNEL2616_53)
+# define CFS_INTR
+#endif
+
+#ifdef KERNEL2616_53
+# define CFS_FLOCK
+#endif
+
+#ifdef CFS_INTR
+/* NOTYET # define CFS_FLAGS_BITOPS */
+#endif
+
+#ifdef VPROC_RCU_LIST
+# define PROC_LARGE_MAXPIDS
+#endif
+
+#ifdef CFS_READAHEAD
+#define CFS_BDI
+#endif
/*
* High-Availability / Failover
*/
-#define CFS_DECODE_FH
#define SHRINK_ICACHE_SB
#define CFS_MIGRATE_ACTIVE_PFS
@@ -265,7 +294,9 @@
/*
* Workarounds
*/
-#define SSI_SKIP_RW_VERIFY_AREA
+#ifndef CFS_BDI
+#define CFS_WRITEPAGES_AT_SVR_SKIP_BDI
+#endif
/*
* Debug
Index: dpvproc.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/dpvproc.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- dpvproc.h 3 Feb 2009 06:18:13 -0000 1.16
+++ dpvproc.h 24 Mar 2009 04:26:29 -0000 1.17
@@ -643,6 +643,9 @@
WAIT_INTR_EVENT(&(PVP((v))->pvp_wait_event), B_TRUE, \
(_intr)); \
} while(0)
+#define VPROC_WAIT_EVENT_SIGNAL(v) do { \
+ SIGNAL_INTR_EVENT(&(PVP((v))->pvp_wait_event)); \
+ } while(0)
#define VPROC_WAIT_EVENT_BROADCAST(v) do { \
BROADCAST_INTR_EVENT(&(PVP((v))->pvp_wait_event)); \
} while(0)
Index: nd_origin.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/nd_origin.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- nd_origin.h 3 Feb 2009 06:18:14 -0000 1.5
+++ nd_origin.h 24 Mar 2009 04:26:29 -0000 1.6
@@ -31,7 +31,12 @@
hlist_for_each_entry(_vod, _pos, &vproc_origin_list, vod_list)
#endif /* !RCU_VPROC_ORIGIN_LIST */
#endif /* VOD_HLIST */
+#ifdef VPROC_LOCKING_CONTEXT_FIX
+#define VOD_GET(vodp) atomic_inc(&((vodp)->vod_refcnt))
+#define VOD_PUT(vodp) atomic_dec(&((vodp)->vod_refcnt))
+#else
RW_LOCK_T vod_rwlock;
+#endif
clusternode_t vod_node;
int vod_flags;
SPIN_LOCK_T vod_mutex;
Index: vproc.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/vproc.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- vproc.h 9 Feb 2009 05:00:36 -0000 1.25
+++ vproc.h 24 Mar 2009 04:26:29 -0000 1.26
@@ -125,10 +125,17 @@
* some nodedown code.
*/
#define VPROCPTR(pid) (vprocptr(pid, TRUE))
+#ifndef VPROC_RCU_LIST
#define VPROCPTR_NOLOCK(pid) (vprocptr(pid, FALSE))
#ifdef VPROC_RELEASE__REFCNT_RACE_FIX
#define VPROCPTR_NOHOLD(pid) (vprocptr(pid, -1))
#endif
+#else /* VPROC_RCU_LIST */
+#define VPROCPTR_NOLOCK(pid) VPROCPTR(pid)
+#ifdef VPROC_RELEASE__REFCNT_RACE_FIX
+#define VPROCPTR_NOHOLD(pid) (vprocptr(pid, 0))
+#endif
+#endif /* VPROC_RCU_LIST */
#define VPROCPTR_VALID(v) (v->vp_magic == VP_MAGIC)
/* LOCATE_VPROC_PID() option flags */
@@ -145,7 +152,11 @@
#define LOCATE_VPROC_PID_ORIGIN(pid, str) \
(*locate_vproc_pid_routine)(pid, str, LVP_ORIGIN)
+#ifdef VPROC_RELEASE__REFCNT_RACE_FIX
+extern struct vproc *vproc_hold(struct vproc *, int);
+#else
extern int vproc_hold(struct vproc *, int);
+#endif
extern int vproc_release(struct vproc *);
/*
* Macros which define the existence rules for a vproc.
@@ -166,7 +177,7 @@
#define VPROC_RELE(v, str) DECREMENT_VP_REFCNT((v), (str))
#ifdef VPROC_RELEASE__REFCNT_RACE_FIX
/* SSI_XXX to support VPROC_DEBUG */
-#define VPROC_HOLD_AND_CHECK(v, str) (vproc_hold((v), 1) == ESUCCESS)
+#define VPROC_HOLD_AND_CHECK(v, str) vproc_hold((v), 1)
#define VPROC_RELE_PID(_pid, str) VPROC_RELE(VPROCPTR_NOHOLD(_pid), str)
#else
#define VPROC_RELE_PID(_pid, str) VPROC_RELE(VPROCPTR(_pid), str)
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com