On 24/10/09 01:10, Pankaj Parakh wrote: > Hi Peter, > > Thanks for showing your interest, I am student and I am working on a > project similar to yours i.e. to have a facility where in one can swap > scheduler in run-time, but I am in very initial state of learning so I > wanted to try a simple RR scheduler, objective of doing it is to learn > about different interfaces in modular design(introduced from 2.6.23 > with CFS). I do not have any constraint with version of linux. I am > ready to take part with you provided you do not have any issue. No. That's good. I've attached two patches which contain the work I've done so far. They should be applied in the following order: define_prelim_cpu_pisch_drv.patch implement_spbrr_cpu_pisch_dvr.patch and will result in two schedulers: the default CFS 'fair' (cfs_fair) scheduler and a simple priority based round robin (spbrr) scheduler; being available for selection at boot time and run time. To select a scheduler at boot time just add 'cpu_pisch=cfs_fair' or 'cpu_pisch=spbrr' to the boot command line. To select a scheduler at run time (as root) do: echo -n 'cfs_fair' > /sys/kernel/cpu_pisch/name or echo -n 'spbrr' > /sys/kernel/cpu_pisch/name The first step in adding your own scheduler would be to make a copy of the file kernel/cpu_pisch_spbrr.c and then modify it. You will also need to modify: kernel/sched.c kernel/cpu_pisch_drv.c kernel/Kconfig.cpu_pisch Hopefully, the required changes are obvious. If not don't hesitate to ask questions. Also if you feel the need to modify the scheduler interface (defined in include/linux/cpu_pisch_drv.h) feel free BUT think very carefully about it and try not to make things too complex. I am working on another scheduler (a simple entitlement based round robin (sebrr) scheduler) which I hope to have finished before I publicly release the patches. If you wish to have your scheduler included just send it to me as a patch which applies on top of the ones that I've attached. Cheers Peter -- Peter Williams pwil3058@bigpond.net.au "Learning, n. The kind of ignorance distinguishing the studious." -- Ambrose Bierce