[SSI] openssi/kernel/kernel sched.c,1.11,1.12

Roger Tsang <[email protected]> Tue, 09 Nov 2010 02:31:03 +0000
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-serv10374/kernel

Modified Files:
      Tag: OPENSSI-FC
	sched.c 
Log Message:
MOSIX:
- ssi_do_decay: fix did not operate on chosen task.
- ssi_do_decay: deprecated. consider() no longer requires mosix_task->dctime.
- consider: reduce excessive stack usage and useless math.
- mosix_calc_process_loads: remove unused code.
- mosix_calc_process_loads: no need to test for interrupt context. Caller in process context.
- mosix_calc_process_loads: calculate struct mosix_task->load for thread group so that in release_migrations() the thread group's load is accounted for when adjusting home/destination node's load value. OpenSSI migrates the thread group.
- release_migrations: clean-up and split CONFIG_SSI code.
- memory_badly_required: clean-up and split SSI_BALANCE_MEMORY code.
- memory_badly_required: only look at thread group leader's mosix_task->pages_i_bring. OpenSSI migrates the thread group.
- mosix_calc_process_loads, mosix_mem_daemon: OpenSSI is only interested in loadlevelable processes. Reduce unnecessary work.
- mosix_mem_daemon: call sort_and_age_pages() for thread group leaders only. reduce redundant work. (#ifdef SSI_BALANCE_MEMORY)
- run_over_dirty_pages: optimize away pte_really_dirty() call for the common code path.
- choose: use KERN_DEBUG log level. (#ifdef DEBUG)
- deactivate_task, activate_task: kernel threads no longer call run_on() / run_off(). Kernel threads do not migrate.
- Fix incorrect last_mconsider value in struct mosix_task after process migration. time_now() values are cross-node incompatible.
- No need to use task_rq_lock() to protect mosix_task->load. Switch to task_lock().

MOSIX (#ifdef REXEC_LOADTABLE_FAST):
- release_migrations: fix forgot to re-calculate value of altload in loadinfo array. Without recalculating altload other processes were not discouraged from migrating away. Regression introduced in CVS tag OPENSSI-FC-1-9-6-PRE45.
- mosix_calc_load: calculate the cached altload using value of newload, not export_load. In other places altload() is passed the value of load field in loadinfo structure and mosix_calc_load() stores the value of newload in load field.

 cluster/ssi/mosixll/balance.c           |  244 ++++++------------------
 cluster/ssi/mosixll/freemem.c           |   82 +++-----
 cluster/ssi/mosixll/info.c              |  160 ++++++++-------
 cluster/ssi/mosixll/kernel.c            |    3 
 cluster/ssi/mosixll/load.c              |   95 +++++----
 cluster/ssi/mosixll/service.c           |    4 
 cluster/ssi/vproc/rproc_cli_pproc.c     |    4 
 cluster/ssi/vproc/rproc_svr_pproc.c     |    4 
 include/cluster/gen/rproc_platform.x    |    6 
 include/cluster/ssi/mosixll/mosixtask.h |    6 
 kernel/sched.c                          |    6 
 11 files changed, 269 insertions(+), 345 deletions(-)


Index: sched.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/kernel/sched.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- sched.c	27 Oct 2009 03:18:30 -0000	1.11
+++ sched.c	9 Nov 2010 02:31:01 -0000	1.12
@@ -778,7 +778,8 @@
 	__activate_task(p, rq);
 
 #ifdef CONFIG_MOSIX_LL
-	run_on(p);
+	if (p->mm)
+		run_on(p);
 #endif /* CONFIG_MOSIX_LL */
 }
 
@@ -793,7 +794,8 @@
 	rq->nr_running--;
 	dequeue_task(p, p->array);
 #ifdef CONFIG_MOSIX_LL
-	run_off(p);
+	if (p->mm)
+		run_off(p);
 #endif /* CONFIG_MOSIX_LL */
 	p->array = NULL;
 }


------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a 
Billion" shares his insights and actions to help propel your 
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev