[SSI] openssi/kernel/kernel exit.c,1.23,1.24 pid.c,1.10,1.11
Roger Tsang <[email protected]>
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/kernel
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv17758/kernel
Modified Files:
Tag: OPENSSI-FC
exit.c pid.c
Log Message:
- Remove unused SSI code in base switch_exec_pids().
Index: exit.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/kernel/exit.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- exit.c 2 Feb 2010 04:22:00 -0000 1.23
+++ exit.c 2 Feb 2010 04:59:19 -0000 1.24
@@ -2231,12 +2231,10 @@
*/
if (delayed_group_leader &&
(vopts & VPROC_WZOMBIE)) {
- /* FIXME: We don't want to reap before VPOP_RECLAIM_CHILD(leader)
- * completes in de_thread(). Also if switch_exec_pids() is run then
- * delayed_group_leader == 0.
- */
- if (vopts & VPROC_WDETHREAD)
+ if (vopts & VPROC_WDETHREAD) {
+ /* de_thread() expects the group leader to be reaped. */
delayed_group_leader = 0;
+ }
#if 0
/* From exit_notify(), reap self on group exit */
else if (cp->exit_signal == -1 &&
Index: pid.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/kernel/pid.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- pid.c 17 Dec 2009 05:46:51 -0000 1.10
+++ pid.c 2 Feb 2010 04:59:19 -0000 1.11
@@ -300,38 +300,11 @@
leader->pid = leader->tgid = thread->pid;
thread->pid = thread->tgid;
#ifdef VPROC
- /* SSI_XXX: No need to switch vproc pids?
- * glibc tst-exec4 passes with no stale vproc handles.
- */
-#if 0
- /* SSI_XXX: bad refcnt after switching vproc pids.
- * Also have to mangle origin ?
- */
-#ifdef DE_THREAD__OOPS_FIX
- /* VPOP_WAIT() pid > 0 is switch_exec_pids() aware */
-#endif
- /* Need to update pvp_pgid and pvp_sid ? */
- /* task->pid is being used to get to vproc - eg. setpgid call */
#ifdef VPROC_RCU_LIST
- /* Re-hash vproc */
- SSI_ASSERT(leader->p_vproc);
- SSI_ASSERT(thread->p_vproc);
-
- VPROC_LIST_LOCK();
- list_del_rcu(&thread->p_vproc->vp_list);
- thread->p_vproc->vp_pid = thread->pid;
- list_add_rcu(&thread->p_vproc->vp_list, &vproc_hash[VPROCPIDHASH(thread->pid)]);
-
- list_del_rcu(&leader->p_vproc->vp_list);
- leader->p_vproc->vp_pid = leader->pid;
- list_add_rcu(&leader->p_vproc->vp_list, &vproc_hash[VPROCPIDHASH(leader->pid)]);
- VPROC_LIST_UNLOCK();
-
- /* Update pvp_pgid so we can get to pgrp list from pvproc */
- /* SSI_XXX: Locking for pvp_pgid */
- PVP(thread->p_vproc)->pvp_pgid = leader->pid;
- PVP(leader->p_vproc)->pvp_pgid = leader->pid;
+ /* de_thread() calls PVPOP_SWITCH_PID() to switch vproc pids */
#endif
+#ifdef DE_THREAD__OOPS_FIX
+ /* VPOP_WAIT() pid > 0 is switch_exec_pids() aware */
#endif
leader->epid = thread->epid;
thread->epid = thread->pid;
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com