Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1540096

[ANNOUNCE] MuQSS CPU scheduler v0.15 for linux-4.9

From Con Kolivas <kernel@kolivas.org>
Newsgroups linux.kernel
Subject [ANNOUNCE] MuQSS CPU scheduler v0.15 for linux-4.9
Date 2016-12-12 01:40 +0100
Message-ID <sNmOS-5RV-15@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Announcing an updated stable version of the Multiple Queue Skiplist Scheduler, 
the successor to BFS, version 0.150 for linux-4.9.

Download:
http://ck.kolivas.org/patches/muqss/4.0/4.9/4.9-sched-MuQSS_150.patch

Git tree:
https://github.com/ckolivas/linux/tree/4.9-muqss

--- 

Patch summary:

The MuQSS (Multiple Queue Skiplist Scheduler - pronounced mux) v0.150 by
Con Kolivas.

This is a multiple runqueue skiplist evolution of the Brain Fuck Scheduler,
designed to provide excellent latency, throughput and scalability to any
number of CPUs, with primary emphasis on latency for interactivity and
responsiveness.

A multiple runqueue strict fairness earliest effective virtual deadline first
design.

Runqueue insertion is O(log(n)), lookup is O(1), removal is amortised O(1).

Interactive mode is enabled by default but can be disabled for improved
throughput at the expense of deterministic low latency.

echo 0 > /proc/sys/kernel/interactive

Features SCHED_IDLEPRIO and SCHED_ISO scheduling policies as well.
You do NOT need to use these policies for good performance, they are purely
optional for even better performance in extreme conditions.

To run something idleprio, use schedtool like so:

schedtool -D -e make -j4

To run something isoprio, use schedtool like so:

schedtool -I -e amarok

Includes configurable SMT-nice support for better nice level and scheduling
policy support across SMT (aka hyperthread) sibling CPUs.

Includes accurate sub-tick accounting of tasks so userspace reported
cpu usage may be very different if you have very short lived tasks.

-ck

From 0ce996c80e2c547e8bc9cfb23f028d80f34a5210 Mon Sep 17 00:00:00 2001
From: Con Kolivas <kernel@kolivas.org>
Date: Sat, 10 Dec 2016 13:37:55 +1100
Subject: [PATCH 01/19] Multiple Queue Skiplist Scheduler version 0.15

---
 Documentation/scheduler/sched-BFS.txt     |  351 ++
 Documentation/scheduler/sched-MuQSS.txt   |  345 ++
 Documentation/sysctl/kernel.txt           |   37 +
 arch/powerpc/platforms/cell/spufs/sched.c |    5 -
 arch/x86/Kconfig                          |   18 +-
 fs/proc/base.c                            |    2 +-
 include/linux/init_task.h                 |   76 +-
 include/linux/ioprio.h                    |    2 +
 include/linux/sched.h                     |   69 +-
 include/linux/sched/prio.h                |   12 +
 include/linux/skip_list.h                 |   33 +
 include/uapi/linux/sched.h                |    9 +-
 init/Kconfig                              |   25 +-
 init/main.c                               |    3 +-
 kernel/Makefile                           |    2 +-
 kernel/delayacct.c                        |    2 +-
 kernel/exit.c                             |    2 +-
 kernel/kthread.c                          |   30 +-
 kernel/sched/Makefile                     |   13 +-
 kernel/sched/MuQSS.c                      | 8033 ++++++++++++++++++++++++++++
+
 kernel/sched/MuQSS.h                      |  348 ++
 kernel/sched/cpufreq.c                    |    4 +
 kernel/sched/cpufreq_schedutil.c          |   16 +
 kernel/sched/cputime.c                    |   27 +-
 kernel/sched/idle.c                       |   14 +-
 kernel/sched/sched.h                      |   25 +
 kernel/sched/stats.c                      |    4 +
 kernel/skip_list.c                        |  148 +
 kernel/sysctl.c                           |   52 +-
 kernel/time/clockevents.c                 |    5 +
 kernel/time/posix-cpu-timers.c            |   10 +-
 kernel/time/timer.c                       |    7 +-
 kernel/trace/trace_selftest.c             |    5 +
 33 files changed, 9670 insertions(+), 64 deletions(-)
 create mode 100644 Documentation/scheduler/sched-BFS.txt
 create mode 100644 Documentation/scheduler/sched-MuQSS.txt
 create mode 100644 include/linux/skip_list.h
 create mode 100644 kernel/sched/MuQSS.c
 create mode 100644 kernel/sched/MuQSS.h
 create mode 100644 kernel/skip_list.c

-- 
-ck

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[ANNOUNCE] MuQSS CPU scheduler v0.15 for linux-4.9 Con Kolivas <kernel@kolivas.org> - 2016-12-12 01:40 +0100

csiph-web