No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Syed Rameez Mustafa 8b7dde13b7 cpu-hotplug: Always use real time scheduling when hotplugging a CPU
CPU hotplug operations take place in preemptible context. This leaves
the hotplugging thread at the mercy of overall system load and CPU
availability. If the hotplugging thread does not get an opportunity
to execute after it has already begun a hotplug operation, CPUs can
end up being stuck in a quasi online state. In the worst case a CPU
can be stuck in a state where the migration thread is parked while
another task is executing and changing affinity in a loop. This
combination can result in unbounded execution time for the running
task until the hotplugging thread gets the chance to run to complete
the hotplug operation.

Fix the said problem by ensuring that hotplug can only occur from
threads belonging to the RT sched class. This allows the hotplugging
thread priority on the CPU no matter what the system load or the
number of available CPUs are. If a SCHED_NORMAL task attempts to
hotplug a CPU, we temporarily elevate it's scheduling policy to RT.
Furthermore, we disallow hotplugging operations to begin if the
calling task belongs to the idle and deadline classes or those that
use the SCHED_BATCH policy.

Change-Id: Idbb1384626e6ddff46c0d2ce752eee68396c78af
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
[psodagud@codeaurora.org: Fixed compilation issues]
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2019-07-25 09:10:47 -07:00
arch Merge remote-tracking branch 'remotes/origin/tmp-cf045d8' into msm-lahaina 2019-07-23 15:57:48 -07:00
block blk-mq: fix up placement of debugfs directory of queue files 2019-07-06 10:07:38 -06:00
certs treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 36 2019-05-24 17:27:11 +02:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-07-05 13:31:19 +09:00
Documentation Merge 5.2-rc7 into android-mainline 2019-07-02 13:15:34 -07:00
drivers drivers: llcc: Create child platform device for llcc_perfmon 2019-07-23 16:49:51 -07:00
fs ANDROID: mnt: Fix null pointer dereference 2019-07-22 17:59:07 -07:00
include Merge "Merge remote-tracking branch 'remotes/origin/tmp-cf045d8' into msm-lahaina" 2019-07-24 17:31:49 -07:00
init Merge remote-tracking branch 'remotes/origin/tmp-51f670f' into msm-lahaina 2019-07-19 11:06:05 -07:00
ipc ANDROID: vfs: Add permission2 for filesystems with per mount permissions 2019-07-19 12:39:17 -07:00
kernel cpu-hotplug: Always use real time scheduling when hotplugging a CPU 2019-07-25 09:10:47 -07:00
lib Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-07-05 13:31:19 +09:00
LICENSES LICENSES: Rename other to deprecated 2019-05-03 06:34:32 -06:00
mm Linux 5.2 2019-07-08 08:24:40 +02:00
net Merge remote-tracking branch 'remotes/origin/tmp-51f670f' into msm-lahaina 2019-07-19 11:06:05 -07:00
samples Merge remote-tracking branch 'remotes/origin/tmp-f686d9f' into msm-lahaina 2019-07-01 17:41:24 -07:00
scripts scripts: gki: Clean the generted files by hand instead of mrproper 2019-07-08 09:24:10 -07:00
security ANDROID: vfs: Add permission2 for filesystems with per mount permissions 2019-07-19 12:39:17 -07:00
sound sound fixes for 5.2 2019-07-05 02:03:50 +09:00
techpack techpack: add tech package support 2019-06-18 15:04:24 -07:00
tools KVM: nVMX: Change KVM_STATE_NESTED_EVMCS to signal vmcs12 is copied from eVMCS 2019-07-02 19:02:45 +02:00
usr user/Makefile: Fix typo and capitalization in comment section 2018-12-11 00:18:03 +09:00
virt Merge remote-tracking branch 'remotes/origin/tmp-f686d9f' into msm-lahaina 2019-07-01 17:41:24 -07:00
.clang-format Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-17 11:26:25 -07:00
.cocciconfig
.get_maintainer.ignore Opt out of scripts/get_maintainer.pl 2019-05-16 10:53:40 -07:00
.gitattributes
.gitignore .gitignore: Add device tree vendor directories to gitignore 2019-06-19 17:31:12 -07:00
.mailmap Merge remote-tracking branch 'remotes/origin/tmp-f686d9f' into msm-lahaina 2019-07-01 17:41:24 -07:00
abi_gki_aarch64.xml ANDROID: gki_defconfig: disable BRIDGE_NETFILTER 2019-07-17 15:26:00 -07:00
abi_gki_aarch64_cf045d8.xml ABI: aarch64: Update the ABI snapshot for v5.2 2019-07-23 15:58:25 -07:00
build.config.cuttlefish.aarch64 ANDROID: build configs: switch prebuilt path location 2019-07-23 15:15:32 +01:00
build.config.cuttlefish.x86_64 ANDROID: build configs: switch prebuilt path location 2019-07-23 15:15:32 +01:00
build.config.gki.aarch64 ANDROID: build configs: switch prebuilt path location 2019-07-23 15:15:32 +01:00
build.config.gki.x86_64 ANDROID: build configs: switch prebuilt path location 2019-07-23 15:15:32 +01:00
COPYING
CREDITS Merge remote-tracking branch 'remotes/origin/tmp-f686d9f' into msm-lahaina 2019-07-01 17:41:24 -07:00
Kbuild Kbuild updates for v5.1 2019-03-10 17:48:21 -07:00
Kconfig kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt 2018-08-02 08:06:55 +09:00
MAINTAINERS A few more MIPS fixes: 2019-07-06 10:32:12 -07:00
Makefile Merge remote-tracking branch 'remotes/origin/tmp-51f670f' into msm-lahaina 2019-07-19 11:06:05 -07:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.