Update of /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/mosixll
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3192/cluster/ssi/mosixll
Modified Files:
Tag: OPENSSI-RH
balance.c info.c kernel.c
Log Message:
fs/proc/base.c
include/cluster/ssi/mosixll/routines.h
cluster/ssi/mosixll/balance.c
cluster/ssi/mosixll/info.c
cluster/ssi/mosixll/kernel.c
- Modified unchoose_me() to pass in a task_struct *
- Modified consider() so that the weighted load cant be zero.
Index: kernel.c
===================================================================
RCS file:
/cvsroot/ssic-linux/openssi/kernel/cluster/ssi/mosixll/Attic/kernel.c,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -d -r1.1.2.3 -r1.1.2.4
--- kernel.c 8 Oct 2003 00:36:17 -0000 1.1.2.3
+++ kernel.c 29 Apr 2004 01:17:40 -0000 1.1.2.4
@@ -721,7 +721,7 @@
#ifdef CONFIG_SSI
m->dflags |= DFINISHED;
m->pages_i_bring = 0;
- unchoose_me();
+ unchoose_me(current);
#else
int i;
struct linux_binprm *bprm = m->inexec;
Index: info.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/mosixll/Attic/info.c,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -d -r1.1.2.3 -r1.1.2.4
--- info.c 8 Oct 2003 00:36:17 -0000 1.1.2.3
+++ info.c 29 Apr 2004 01:17:40 -0000 1.1.2.4
@@ -1027,7 +1027,11 @@
printk("release_migrations: Could not adjust machine #%d (not
in list)\n", whereto);
#endif /* CONFIG_MOSIX_DEBUG */
m->pages_i_bring = -pages; /* discourage 'memory_badly_required' */
+#ifdef CONFIG_SSI
+ unchoose_me(current);
+#else
unchoose_me();
+#endif
}
void
Index: balance.c
===================================================================
RCS file:
/cvsroot/ssic-linux/openssi/kernel/cluster/ssi/mosixll/Attic/balance.c,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -d -r1.1.2.5 -r1.1.2.6
--- balance.c 4 Apr 2004 06:23:10 -0000 1.1.2.5
+++ balance.c 29 Apr 2004 01:17:40 -0000 1.1.2.6
@@ -962,6 +962,8 @@
#endif
#ifdef CONFIG_SSI
ms = ticks_to_ms(p->times.tms_utime+p->times.tms_stime) - m->dctime;
+ if (!ms)
+ ms = 1;
#else
ms = ticks_to_ms(p->times.tms_utime+m->uttime) + m->cutime - m->dctime;
if(sons)
@@ -1198,21 +1200,34 @@
kfree(costinfo);
#endif /* CONFIG_MOSIX_TOPOLOGY */
m->migpages = 0;
+#ifdef CONFIG_SSI
+ unchoose_me(current);
+#else
unchoose_me();
-#ifndef CONFIG_SSI
if(m->dflags & DREMOTE)
ask_deputy_to_goto(0);
#endif /* !CONFIG_SSI */
}
void
+#ifdef CONFIG_SSI
+unchoose_me(struct task_struct *p)
+#else
unchoose_me(void)
+#endif
{
+#ifndef CONFIG_SSI
struct task_struct *p = current;
+#endif
int l = 0, m = 0;
#ifdef CONFIG_SSI
p->mosix.migpages = 0;
+#ifdef CONFIG_MOSIX_DEBUG
+ if((ds_debug & DSDEB_CONSIDER) && (p != current))
+ printk("unchoose_me: %s state %d\n",
+ desc_mostask(&p->mosix), p->state);
+#endif /* CONFIG_MOSIX_DEBUG */
#endif
spin_lock_irq(&whereto_lock);
if(p == chosen_for_balance)
-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
|
|