[SSI] openssi ChangeLog,1.246,1.247
Roger Tsang <[email protected]> Fri, 05 Mar 2010 06:36:36 +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-serv11326
Modified Files:
Tag: OPENSSI-FC
ChangeLog
Log Message:
update
Index: ChangeLog
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/ChangeLog,v
retrieving revision 1.246
retrieving revision 1.247
diff -u -d -r1.246 -r1.247
--- ChangeLog 2 Feb 2010 05:26:08 -0000 1.246
+++ ChangeLog 5 Mar 2010 06:36:34 -0000 1.247
@@ -1,5 +1,360 @@
2010/??/?? *** Release of OpenSSI 2.0.0rc1 ***
+2010/03/05 rogertsang <[email protected]>
+ * CVS Tag: OPENSSI-FC-1-9-6-PRE21
+
+ * CFS (#ifdef SVRCFSTOK_SCT_IP_MACRO):
+ - Optimize away redundant. Remove pointer to struct inode in svrcfstok
+ structure.
+
+ cluster/ssi/cfs/cfsproc.c | 2 ++
+ cluster/ssi/cfs/svrcfs.c | 29 +++++++++++++++++------------
+ include/cluster/ssi/cfs/cfstok.h | 6 +++++-
+ 3 files changed, 24 insertions(+), 13 deletions(-)
+
+2010/03/05 rogertsang <[email protected]>
+ * CVS Tag: OPENSSI-FC-1-9-6-PRE20
+
+ * IPC:
+ - Fix partially initialized shmid_kernel_svr.shm_perm structure.
+ - Fix ipc/sem.c:exit_sem() GCC warning: ISO C90 forbids mixed
+ declarations and code.
+ - Split ssi_shm_setup() into separate functions
+ ssi_shm_setup_client/new() to reduce stack usage in some paths.
+
+ * IPC (#ifdef IPC_SHM_RACE_FIX):
+ - Fix shm_svr_rmid() called without spinlock for the ID.
+ - Fix race deferencing invalid struct shmid_kernel, shmid_kernel_svr.
+ - Enable lockfree shmid_kernel_svr IPC id lookup. Use ipc_rcu_alloc and
+ IPC reference counting.
+ - Reduce contention. Avoid the ipc_ids mutex. Use per IPC id spinlock.
+ - Fix cli_ipcname_findid() race with cli_ipcname_getid() could
+ overwrite existing IPC segment.
+ - Fix non-critical section under shm_ids.sem lock in
+ shm_create_cli_entry().
+ - Prevent re-acquire shm_ids.sem in shm_destroy() path. ripc_shm_rmid()
+ no longer returns with shm_ids.sem unlocked.
+ - Remove contention in shmem_svr_lookup(); no longer acquire
+ shm_ids_svr.sem.
+ - Fix do_shmat() possible hang calling dput() while holding spinlock.
+ - Fix cfs_shm_node_mnts[] race.
+ - Fix inode leak in ssi_shm_setup() error path when do_shm_register()
+ fails.
+
+ * IPC (#ifdef IPC_SHM_LOCK_DEST_FIX):
+ - Fix [ ssic-linux-Bug 2838006 ] Corrupt SHM_LOCK_DEST flag.
+ - Refactor ipc_shm_nodedown() for SHM_LOCK_DEST flag. Use SHM_LOCK_DEST
+ flag.
+ - Fix ripc_drop_locks() error path dereferencing NULL pointer in
+ ipc_drop_locks().
+
+ * IPC (#ifdef CFS_IPCSHM_DENTRY):
+ - ssi_shm_setup_client() use d_instantiate_unique() to prevent
+ duplicate entries.
+
+ cluster/ssi/cfs/cfs_ipcshm.c | 422 ++++++++++++++++++-----------
+ cluster/ssi/cfs/cfsproc.c | 6
+ cluster/ssi/ipc/ipcshm_svr.c | 280 +++++++++++--------
+ cluster/ssi/ipc/namesvr_func.c | 12
+ cluster/ssi/vproc/reopen.c | 30 +-
+ include/cluster/ssi/cfs/cfs_fs.h | 16 +
+ include/cluster/ssi/ipc/shm.h | 13
+ include/linux/shm.h | 7
+ ipc/msg.c | 6
+ ipc/sem.c | 17 -
+ ipc/shm.c | 450 ++++++++++++++++++++-----------
+ ipc/util.c | 18 -
+ ipc/util.h | 5
+ mm/shmem.c | 9
+ 14 files changed, 845 insertions(+), 446 deletions(-)
+
+2010/03/05 rogertsang <[email protected]>
+ * CVS Tag: OPENSSI-FC-1-9-6-PRE19
+
+ * IPC:
+ - Fix uninitialized iodb_timestamp.
+ - Fix ssi_growary() can cause array bounds violation when value of
+ iodb_size is increased beyond the static size of object table.
+ - Fix ipcname_failover_data() dereferencing invalid ipc_obj structure;
+ objp pointer is uninitialized.
+ - Fix shmem_svr_lookup() ignored cli_ipcname_getid() error and looked
+ up id 0.
+ - Fix shmem_svr_lookup() always creates obj with id 0.
+
+ * IPC (#ifdef SSI_IPC_OBJ_DB_LOCKLESS):
+ - Remove NSC_IPC_RD/WRLOCK() global object database mutex.
+ - Implement reference counting for ipc_obj structure.
+ - Implement lockless iodb_active[] traversal.
+ - Fix ipcname_failover_data() iodb_seq race with another objsvr_new()
+ thread.
+ - Remove redundant objsvr_find_key() lookup's in ipcname_getid() path
+ when objsvr_new() raced with another.
+
+ cluster/ssi/cfs/cfs_ipcshm.c | 15 -
+ cluster/ssi/ipc/ipc.h | 26 +
+ cluster/ssi/ipc/namesvr_clnt.c | 6
+ cluster/ssi/ipc/namesvr_func.c | 463 ++++++++++++++++++++++++++++++++-
+ include/linux/config.h | 5
+ 5 files changed, 495 insertions(+), 20 deletions(-)
+
+2010/03/05 rogertsang <[email protected]>
+ * CVS Tag: OPENSSI-FC-1-9-6-PRE18
+
+ * RMTUNIX (#ifdef IPC_STALE_RMTUNIX_CACHE_FIX):
+ - Optimize away rsk_spinlock in rmtunix_socket_info struct reference
+ counting code. Use atomic_test_and_add().
+
+ * RMTUNIX (#ifdef RMTUNIX_SOCK_INFO_CACHE):
+ - Regression:
+ - rmtunixsvr_stream_connect_callback() error path calling kfree() on
+ kmem_cache object.
+ - ssi_unix_find_socket_byinode() error path calling kfree() on
+ kmem_cache object.
+ - ssi_unix_find_socket_byname() error path calling kfree() on
+ kmem_cache object.
+
+ cluster/ssi/ipc/rmtunix.c | 19 +++++++--------
+ include/cluster/ssi/ipc/unixnm.h | 39 +++++++------------------------
+ include/cluster/ssi/unix.h | 16 +++++++++++-
+ 3 files changed, 32 insertions(+), 42 deletions(-)
+
+2010/03/05 rogertsang <[email protected]>
+ * CVS Tag: OPENSSI-FC-1-9-6-PRE17
+
+ * RMTFB:
+ - Double the number of buckets in hash tables rmtfb_svrtbl
+ and rmtfb_clitbl. Use hlist_head struct. Memory footprint unchanged.
+
+ cluster/ssi/util/rmtfb.c | 93 ++++++++++++++++---------------
+ include/cluster/ssi/util/rmtfb.h | 4 -
+ 2 files changed, 50 insertions(+), 47 deletions(-)
+
+ * CFS (#ifdef RCU_CFSTOK_TABLE):
+ - Remove sct_statelock spinlock in struct svrcfstok reference counting
+ code. Use atomic_test_and_add().
+ - sct_magic is no longer used except for debugging. (#ifdef DEBUG)
+ - sct_prlist is no longer used in svrcfstok_nodedown since the final
+ HASH_RELE() releases svrcfstok structure.
+
+ cluster/ssi/cfs/svrcfs.c | 98 ++++++++-----------------------
+ include/cluster/ssi/cfs/cfstok.h | 14 +++-
+ 2 files changed, 38 insertions(+), 74 deletions(-)
+
+ * SSIDEV (#ifdef SSIDEV_POLL_CLI_HASH_TABLE):
+ - Convert ssidev_poll_cli_list to hashed single-linked list to handle
+ large number of entries.
+
+ cluster/ssi/util/ssidev.c | 57 ++++++++++++++++++++++++++++++++++-
+ include/cluster/ssi/ssidev.h | 4 ++
+ include/linux/config.h | 4 ++
+ 3 files changed, 64 insertions(+), 1 deletion(-)
+
+ * CFS (#ifdef CFS_DCACHE_KMEM_CACHE):
+ - Allocate cfs_dcached struct from kmem_cache.
+
+ cluster/ssi/cfs/dir.c | 141 +++++++++++++++++------------
+ cluster/ssi/cfs/inode.c | 8 +
+ include/cluster/ssi/cfs/cfs_clnt.h | 2
+ include/linux/config.h | 4
+ 4 files changed, 98 insertions(+), 57 deletions(-)
+
+2010/03/05 rogertsang <[email protected]>
+ * CVS Tag: OPENSSI-FC-1-9-6-PRE16
+
+ * VPROC (#ifdef TASK_HOLD_VPROC):
+ - Remove vp_lock spinlock in vproc struct. Use atomic_test_and_add().
+
+ * VPROC (#ifdef VPROC_DEBUG):
+ - vp_magic checking is for debugging; no longer done in production
+ code.
+
+ cluster/ssi/vproc/vp_debug.c | 2
+ cluster/ssi/vproc/vp_subr.c | 95 +++++++++++++++++++----------------
+ include/linux/vproc.h | 23 ++++++--
+ 3 files changed, 73 insertions(+), 47 deletions(-)
+
+2010/03/05 rogertsang <[email protected]>
+ * CVS Tag: OPENSSI-FC-1-9-6-PRE15
+
+ * RMTFB:
+ - Remove rfb_lock spinlock in rmtfb_cmn struct. Use
+ atomic_test_and_add().
+
+ cluster/ssi/util/rmtfb.c | 37 +++----------------------------
+ include/cluster/ssi/util/rmtfb.h | 12 +++-------
+ 2 files changed, 8 insertions(+), 41 deletions(-)
+
+2010/03/05 rogertsang <[email protected]>
+ * CVS Tag: OPENSSI-FC-1-9-6-PRE14
+
+ * 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(-)
+
+2010/03/05 rogertsang <[email protected]>
+ * CVS Tag: OPENSSI-FC-1-9-6-PRE13
+
+ * CFS (#ifdef CFS_ASYNC_LOCAL_SYNC):
+ - Optimize away unnecesary initialization in cfs_read_rpcsetup(),
+ cfs_write_rpcsetup().
+
+ * CFS (#ifdef CFS_CHARD_SYNC_FIX):
+ - Fix unstable data could have been lost due to server migrated or
+ failover. Unstable data is flushed again (to the new server) in
+ cfs_reflush_inode(). Later cfs_reflush_inode() is renamed to
+ cfs_prepare_reflush() where pages are re-dirtied; caller flushes
+ dirty pages again.
+ - Fix downed pages were not properly coalesced. Coalesce downed pages
+ on per inode basis to reduce contention during failover.
+
+ * CFS (#ifdef CFS_PAGEVEC):
+ - Optimize away unnecesary initialization in cfs_commit_rpcsetup().
+
+ cluster/ssi/cfs/inode.c | 5
+ cluster/ssi/cfs/read.c | 28 ++++
+ cluster/ssi/cfs/write.c | 170 +++++++++++++++++++++++++----
+ include/cluster/ssi/cfs/cfs_fs.h | 3
+ include/cluster/ssi/cfs/cfs_fs_i.h | 10 +
+ include/cluster/ssi/cfs/cfs_page.h | 4
+ include/linux/config.h | 10 +
+ 7 files changed, 206 insertions(+), 24 deletions(-)
+
+ * CFS (#ifdef CFS_FILE_WRITE_LIVELOCK_FIX):
+ - Fix background_writeout() stuck in balance_dirty_pages() when
+ client@server and CFS inode being flushed exceeds VM dirty_ratio.
+
+ mm/page-writeback.c | 10 ++++++++++
+ 1 files changed, 10 insertions(+)
+
+ * CFS Token Architecture (#ifdef RCU_MSGSUP_HASH):
+ - In process_msgs() optimize away hash table lookup on -EREMOTE.
+
+ cluster/ssi/token/msgsup.c | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+ * VPROC (#ifdef VPROC_IS_LOADLEVELABLE_OOPS_FIX):
+ - Fix vproc_is_loadlevelable() null pointer dereference when process is
+ still being setup. When Mosix choose() raced with
+ VPOP_SETUP_VPROC_RELATIONS() the pvp_pproc pointer is NULL.
+
+ 0xf6d25000 65955 2 1 0 R 0xf6d251b0 *nsc_async
+ EBP EIP Function (args)
+ 0xf6ee5ef8 0xc0290450 vproc_is_loadlevelable+0x50 (0xed502e40, 0x0, 0xebffa550, 0xebffaa64)
+ 0xf6ee5f10 0xc02903e0 is_loadlevelable+0x70 (0xebffa550, 0x0, 0xc240e494, 0x260, 0x260)
+ 0xf6ee5f64 0xc02c2727 choose+0x197 (0x0, 0x0, 0xf6ee4000, 0xf6ee4000, 0xf6ee4000)
+ 0xf6ee5fec 0xc0219193 nsc_async_daemon+0x233
+ 0xc0100d75 kernel_thread_helper+0x5
+
+ 0xebffa550 92928 90796 0 0 D 0xebffa700 sa-learn
+ EBP EIP Function (args)
+ 0xca15de68 0xc04129e3 schedule+0x303 (0xca15de8c, 0xed502ee4, 0xc04346cc, 0x822, 0xed502ee4)
+ 0xca15de9c 0xc0413b99 rwsem_down_write_failed+0x89
+ 0xc0245d3a .text.lock.dvp_vpops+0x12
+ 0xca15dee8 0xc0242e96 vpop_setup_vproc_relations+0x116 (0xed502e40, 0xca531550, 0x16b02, 0x1200011, 0xca531550)
+ 0xca15df28 0xc011dda5 copy_process+0x5c5 (0x1200011, 0xbfffd558, 0xca15dfc4, 0x0, 0x0)
+ 0xca15df78 0xc011e6fe __do_fork+0x6e (0x1200011, 0xbfffd558, 0xca15dfc4, 0x0, 0x0)
+ 0xca15df9c 0xc011e68c do_fork+0x3c (0x1200011, 0xbfffd558, 0xca15dfc4, 0x0, 0x0)
+ 0xca15dfbc 0xc010170b sys_clone+0x3b
+ 0xc0104575 sysenter_past_esp+0x52
+
+ * Files in ci-linux project were modified (see ci/ChangeLog).
+
+ include/linux/config.h | 4 ++++
+ 1 files changed, 4 insertions(+)
+
+2010/02/21 hughesj <[email protected]>
+ * CVS Tag: OPENSSI-FC-1-9-6-PRE12
+
+ * x86_64:
+ - kernel/fs/exec.c
+ - Better handling of missing binfmt->name
+ - don't panic if binfmt unknown
+
+2010/02/19 hughesj <[email protected]>
+
+ * x86_64:
+ - Remove incorrectly imported file
+ - kernel/fs/compat_ioctl.c (Tag: LINUX)
+ - Base on 2.6.11 version instead of incorrectly imported 2.6.12 version
+ - kernel/fs/compat_ioctl.c (Trunk)
+
+2010/02/18 hughesj <[email protected]>
+
+ * x86_64:
+ - signal->tty doesn't exist in OpenSSI
+ - kernel/fs/compat_ioctl.c
+
+2010/02/16 hughesj <[email protected]>
+
+ * x86_64:
+ - Don't use %x for addresses, use %p (works on lp64)
+ - kernel/cluster/ssi/clreg/clreg_head.c
+
+2010/02/15 hughesj <[email protected]>
+
+ * x86_64:
+ - Back out incorrect x86_64 patch
+ - kernel/arch/x86_64/lib/copy_user.S usercopy.c
+ - kernel/arch/x86_64/kernel/ptrace.c x8664_ksyms.c
+ - kernel/include/asm-x86_64/atomic.h fcntl.h mman.h semaphore.h
+ uaccess.h
+ - Patch VANILLA x86_64 files for OpenSSI
+ - kernel/arch/x86_64/kernel/ldt.c process.c ptrace.c x8664_ksyms.c
+ - kernel/arch/x86_64/lib/copy_user.S usercopy.c
+ - kernel/include/asm-x86_64/atomic.h desc.h fcntl.h mman.h
+ semaphore.h system.h uaccess.h
+
+2010/02/14 hughesj <[email protected]>
+
+ * x86_64:
+ - Include x86_84 patches
+ - openssi/Makefile
+
+2010/02/13 hughesj <[email protected]>
+
+ * x86_64:
+ - Fix warnings on lp64 systems
+ - kernel/fs/proc/proc_cluster.c
+ - kernel/cluster/ssi/vproc/dvp_pvpsops.c nd_cleanup.c
+ - kernel/cluster/ssi/ipc/namesvr_func.c
+ - kernel/cluster/ssi/cfs/cfs_svc.c vfs.c
+ - ssize_t is a long, not an int
+ - kernel/cluster/ssi/cfs/proc.c
+ - include i387 stuff on x86_64
+ - kernel/cluster/ssi/mosixll/balance.c
+ - msg_namelen is an int, not a size_t
+ - kernel/cluster/ssi/util/rmtsock.c
+ - Only do 64bit ipc on 64bit systems. (#ifndef ipc_parse_version)
+ - kernel/ipc/util.c
+ - Add files needed for x86_64.
+ - /kernel/include/cluster/gen/rproc_arch_x86_64.x
+ - /kernel/cluster/arch/x86_64/vproc/Makefile rproc_arch.c
+ - Remove kernel/arch/x86_64/ia32/ia32_aout.c not needed.
+
2010/02/02 rogertsang <[email protected]>
* CVS Tag: OPENSSI-FC-1-9-6-PRE11
@@ -125,8 +480,8 @@
* CVS Tag: OPENSSI-FC-1-9-6-PRE6
* VPROC:
- - Optimize away struct procinfo initialization in error path in
- kill_proc_info().
+ - Fix pvpop_sigproc() returning 0 instead of -ESRCH in error path for
+ local operation.
- Optimize away error code initialization for remote path in various
pvpop_xxx() functions.
- Fix missing comment to explain why task state needs to be preserved
@@ -138,8 +493,6 @@
finish_stop(). Fixed by re-enabling code to preserve current task
state in vpop_report_state().
- * Files in ci-linux project were modified (see ci/ChangeLog).
-
cluster/ssi/vproc/dvp_pvpops.c | 49 ++++++++++++----------------
cluster/ssi/vproc/dvp_vpops.c | 26 ++++++++------
cluster/ssi/vproc/rproc_svr_pproc.c | 1
------------------------------------------------------------------------------
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