Achei no git do ubuntu hardy algumas soluções que serão implementadas (provavelmente daqui há alguns meses... afinal é git) no kernel do hardy relativo ao sheduler.
Eu coloquei no omnislash parte dos patches do fedora para melhorar o mtrr para ajudar (e melhora bastante), já o git do hardy vai por outro caminho para melhorar os problemas de lentidão (ele vai no sheduler). Enfim
parte do patch para vcs verem...
From: Stefan Bader <stefan.bader@canonical.com>
Date: Fri, 25 Apr 2008 14:21:53 +0000 (-0400)
Subject: UBUNTU: sched: retain vruntime
X-Git-Url:
http://kernel.ubuntu.com/git?p=smb%2Fubuntu-hardy.git;a=commitdiff_plain;h=a0415b12dda1c03903be44183ebe7eb1651d7481UBUNTU: sched: retain vruntime
Bug: #218516
commit 810b38179e9e4d4f57b4b733767bb08f8291a965
Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
Date: Fri Feb 29 15:21:01 2008 -0500
sched: retain vruntime
Kei Tokunaga
reported an interactivity problem when moving tasks
between control groups.
Tasks would retain their old vruntime when moved between groups, this
can cause funny lags. Re-set the vruntime on group move to fit within
the new tree.
Reported-by: Kei Tokunaga <tokunaga.keiich@jp.fujitsu.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
---
Index: 2008/include/linux/sched.h
===================================================================
--- 2008.orig/include/linux/sched.h
+++ 2008/include/linux/sched.h
@@ -847,6 +847,10 @@ struct sched_class {
void (*set_curr_task) (struct rq *rq);
void (*task_tick) (struct rq *rq, struct task_struct *p);
void (*task_new) (struct rq *rq, struct task_struct *p);
Fiz um omnislash 4-7 baseado no patch completo e com mais algumas melhorias e estou gostando do resultado em breve posto os resultados...
EDIT 1
Existem outros patches para melhorar o sheduler porém é bom eu ir com calma