4 ms·
DBAs knew about this for many years now. We would simply change the schedular on the DB servers.
by tkyjonathan 9y ago
DBAs knew about this for many years now. We would simply change the schedular on the DB servers.
- pdw 9y agoI think you might be confusing CPU schedulers and IO schedulers. Linux never had switchable CPU schedulers.
- noughth 9y agoSure it does: http://man7.org/linux/man-pages/man2/sched_setscheduler.2.html http://man7.org/linux/man-pages/man2/sched_setscheduler.2.ht...
- ksk 9y agoIf you read the page, it simply states that you can tweak the parameters of the existing scheduler, not replace it entirely.
- noughth 9y agoThe scheduling policies listed on the man page I linked share some generic kernel code, but I wouldn't classify them as the same scheduler. If you look inside the kernel/sched/ directory in the source, you'll find that an instance of `struct sched_class` is defined for each scheduler class. There are dl_sched_class, rt_sched_class, fair_sched_class, and idle_sched_class. You can see in `pick_next_task` in core.c that these class structs are iterated over, calling into each scheduler's own `pick_next_task`: http://elixir.free-electrons.com/linux/v4.13.9/source/kernel/sched/core.c#L3207 http://elixir.free-electrons.com/linux/v4.13.9/source/kernel...
- dragontamer 9y agoAlternatively, it might be a confusion between Linux and Windows. https://technet.microsoft.com/en-us/library/aa175393(v=sql.80).aspx https://technet.microsoft.com/en-us/library/aa175393(v=sql.8... The Windows Database team has been using the "User Mode Scheduling" feature of Windows to implement custom scheduling for databases for some time.
- amyjess 9y agoMainline, sure, but there are other kernel forks that do, such as the ck kernel.
- cat199 9y agonot to mention the fact that kernel devs knew about it as well, so the whole title of the article is a bit bunk
- 0xfeba 9y agoYes it does: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/sched?h=v4.14-rc6 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... fair.c deadline.c rt.c