[SSI] openssi ChangeLog,1.250,1.251

Roger Tsang <[email protected]> Fri, 02 Apr 2010 20:58:24 +0000
Newsgroups gmane.linux.cluster.ssic.cvs
Message-ID <[email protected]>
Update of /cvsroot/ssic-linux/openssi
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv1097

Modified Files:
      Tag: OPENSSI-FC
	ChangeLog 
Log Message:
update


Index: ChangeLog
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/ChangeLog,v
retrieving revision 1.250
retrieving revision 1.251
diff -u -d -r1.250 -r1.251
--- ChangeLog	29 Mar 2010 06:29:35 -0000	1.250
+++ ChangeLog	2 Apr 2010 20:58:21 -0000	1.251
@@ -1,5 +1,58 @@
 2010/??/??	*** Release of OpenSSI 2.0.0rc1 ***
 
+2010/04/02	rogertsang <[email protected]>
+	* CVS Tags: OPENSSI-FC-1-9-6-PRE31, OPENSSI-FC-2-0-0-PRE3
+
+	* CFS:
+	- Fix OOPs at tok_destroy() when get_new_inode() lost the race and
+	  calls destroy_inode() on partially initialized CFS inode.
+	  cfs_alloc_inode() did not initialize cnode HOLD lists.
+	- Optimize away large memset operation in CFS init_once(). Much of
+	  cnode structure cannot be initialized by zero'ing anyway.
+
+	* CFS (#ifdef CFS_CHARD_SYNC_FIX):
+	- Fix "desynchronized value of cfs_i.ndirty" messages after failover.
+	  cfs_commit_result() to not mark requests dirty on ECFS_TRYAGAIN
+	  because these requests will be re-flushed directly without going
+	  through cfs_scan_dirty() again. Bug introduced in
+	  OPENSSI-FC-1-9-6-PRE13 and affects failover.
+	- Rename cfs_prepare_reflush() to cfs_reflush_inode() and do the
+	  re-flush directly instead of having the caller do cfs_flush_inode().
+	  Do the flush directly to avoid having to clear PG_BUSY flag which may
+	  cause existing threads in cfs_wait_on_requests() to return too soon.
+	  Bug introduced in OPENSSI-FC-1-9-6-PRE13 and affects failover.
+
+	* CFS (#ifdef CFS_EXPORT_OPS):
+	- cfs_init_locked() no longer calls cfstok_init(); done in CFS
+	  init_once() as part of the tok_destroy() OOPs fix.
+
+	 cluster/ssi/cfs/inode.c |   49 +++++++++++++++----
+	 cluster/ssi/cfs/write.c |   99 +++++++++++++++++++++-------------------
+	 2 files changed, 93 insertions(+), 55 deletions(-)
+
+2010/04/02	rogertsang <[email protected]>
+	* CVS Tag: OPENSSI-FC-1-9-6-PRE30
+
+	* IPC Semaphores:
+	- sem_checkid() failure message level downgraded to KERN_DEBUG in
+	  __ssi_semexit() since the failure is not a bug [1941808].
+	- semundo_nodedown_thread() changes:
+	  - Skip remaining sem_array->undo list when a sem_semundo struct with
+	    pid is found since no other sem_semundo structures with same pid
+	    exists.
+	  - No longer hold sem_ids.sem mutex while traversing array of
+	    sem_array structures since we are only interested in existing
+	    semaphores at the time of node down event. There is no race with
+	    grow_ary().
+	  - Create semundo_nd_thread_lock mutex to prevent multiple
+	    semundo_nodedown_thread's from racing over pid_checked marker in
+	    sem_semundo structure.
+	  - Only call update_queue() when a sem_semundo structure is being
+	    removed.
+
+	 ipc/sem.c |   74 ++++++++++++++++++++++++++++++++----------------------
+	 1 files changed, 45 insertions(+), 29 deletions(-)
+
 2010/03/29	rogertsang <[email protected]>
 	* CVS Tag: OPENSSI-FC-1-9-6-PRE29
 
@@ -16,16 +69,18 @@
 	* IPC Semaphores:
 	- Fix sem_nodehint[] race. Implement sem_nodehint_lock read/write
 	  spinlock.
-	- Fix sys_semctl() error paths livelock due to stale values.
-	- Fix livelock on -EINVAL in sys_semtimedop().
+	- Fix livelock in sys_semctl() if cli_ripc_semctl() fails due to
+	  irrecoverable error.
+	- Fix livelock in sys_semtimedop() if cli_ripc_semop() fails due to
+	  irrecoverable error.
 	- Consolidate redundant code. Implement ipc/sem.c:sem_find_svr_node().
 	- Fix semundo_nodedown_thread() partial hang due to might sleep in
 	  process_is_alive() while holding IPC sem spinlock.
-	  - Add pid_checked marker in struct sem_semundo for node down
-	    processing.
-	- Fix semundo_nodedown_thread() dereferencing invalid struct sem_array.
-	- semundo_nodedown_thread() to scan sem_ids.entries->size instead of
-	  the maximum possible (sem_ids.max_id).
+	  - Add pid_checked in struct sem_semundo for node down processing.
+	- Fix semundo_nodedown_thread() passing invalid struct sem_array to
+	  update_queue().
+	- Optimize semundo_nodedown_thread() to scan sem_ids.entries->size
+	  instead of the maximum possible (sem_ids.max_id).
 
 	 include/linux/sem.h |    7 
 	 ipc/sem.c           |  360 +++++++++++++++++++++++++-------------------


------------------------------------------------------------------------------
Download Intel&#174; 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