[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