It is the original RIFS actually.
Printable View
Here I copy a whole things from the prev thread.
This is RIFS-V3-Test(Actually is V5) based on RIFS-V2
It solved the interactivity problem RIFS-ES has.
http://rifs-scheduler.googlecode.com...s-V2-V3-Test.c
:D
EDIT 2
Wow, I have run the latt -c255 sleep 10 with music playing and browsing using firefox.
No lag with Music and Screen.
[admin@localhost ~]$ latt -c255 sleep 10
Parameters: min_wait=100ms, max_wait=500ms, clients=255
Entries logged: 765
Wakeup averages
-------------------------------------
Max 148215 usec
Avg 11210 usec
Stdev 20550 usec
Stdev mean 743 usec
Work averages
-------------------------------------
Max 1210226 usec
Avg 59141 usec
Stdev 89912 usec
Stdev mean 3251 usec
Remember to rename it to rifs.c and replace it with the original one.
Chen
RIFS-V3-Test will not optmise for big workload anymore and it now focuses on fair. Also it should fix the building issue.
Although it will produce a bad latt benchmark result, it will produce good user experience.
@ulenrich @TAXI:
You can try whether it solves the building issue with some configuration or not.
For interactivity, it seems to me that the maximum latencies are much more important than the average.
http://rifs-scheduler.googlecode.com/files/bfs.c
BFS-O(1)-423. Patch the kernel with BFS first.
It is an improvement patch on data structure. As you see, the time complexity of BFS is O(n) and with this the time complexity become O(1).
@3766691:
smecenter has a point - overall RIFS-ES is a very smooth and great scheduler
to make it the best it is paramount that the max latencies also get smaller
I'm currently still using it with 3.4.2 and it's working great but from time to time there are small noticable lags during heavy i/o (the same with BFS & CFS)
it's not RIFS-ES/the cpu scheduler's fault if the i/o or VFS subsystem, device-mapper, etc. etc. screw up and lead to delays but it would at least be nice if the cpu scheduler could manage to keep latencies to a minimum on its own
any ideas on how to improve it more ?
otherwise it's awesome :D
thanks !
ok, I see
making it TASK_UNINTERRUPTIBLE would probably solve the issue with input lag during heavy i/o - especially under the amd64 architecture (intel only ?) - once and for all
provided of course that all the i/o (especially writing) is marked TASK_UNINTERRUPTIBLE
yeah, it's the best scheduler so far :)
what does that DMS Scheduler exactly change ? from what I read it prioritizes user input somehow and is swap aware ? is that correct ?
will test that one asap
great work !
thanks
oh nice ! :)
a fixed priority preemptive scheduling policy
I just tried it and the kernel hang during bringing up the CPUs so it must be an issue with the cpu scheduler
patched RIFS.ES-v1-low-spec-kernel3.4.x first and then replaced rifs.c with the one from "DMS-3.4.x V1(patch your kernel with RIFS-ES first)"
any ideas ?
thanks !