--- c244706e2625e71137dacf67403fd6c6d44658f1 +++ 288914317eb30a14c019106ea7eda7fdc9a8c7f5 @@ -23,6 +23,19 @@ config CONSTRUCTORS menu "General setup" +config SCHED_BFS + bool "BFS cpu scheduler" + ---help--- + The Brain Fuck CPU Scheduler for excellent interactivity and + responsiveness on the desktop and solid scalability on normal + hardware. Not recommended for 4096 CPUs. + + Currently incompatible with the Group CPU scheduler, and RCU TORTURE + TEST so these options are disabled. + + Say Y here. + default y + config EXPERIMENTAL bool "Prompt for development and/or incomplete code/drivers" ---help--- @@ -428,7 +441,7 @@ config HAVE_UNSTABLE_SCHED_CLOCK config GROUP_SCHED bool "Group CPU scheduler" - depends on EXPERIMENTAL + depends on EXPERIMENTAL && !SCHED_BFS default n help This feature lets CPU scheduler recognize task groups and control CPU @@ -544,7 +557,7 @@ config PROC_PID_CPUSET config CGROUP_CPUACCT bool "Simple CPU accounting cgroup subsystem" - depends on CGROUPS + depends on CGROUPS && !SCHED_BFS help Provides a simple Resource Controller for monitoring the total CPU consumed by the tasks in a cgroup. @@ -599,6 +612,18 @@ config CGROUP_MEM_RES_CTLR_SWAP endif # CGROUPS +config SCHED_AUTOGROUP + bool "Automatic process group scheduling" + select CGROUPS + select CGROUP_SCHED + select FAIR_GROUP_SCHED + help + This option optimizes the scheduler for common desktop workloads by + automatically creating and populating task groups. This separation + of workloads isolates aggressive CPU burners (like build jobs) from + desktop applications. Task group autogeneration is currently based + upon task tty association. + config MM_OWNER bool