mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-07 04:12:04 -04:00
No description
- C 98.2%
- Assembly 1%
- Makefile 0.3%
- Shell 0.2%
- Python 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
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> |
||
| arch | ||
| block | ||
| certs | ||
| crypto | ||
| Documentation | ||
| drivers | ||
| fs | ||
| include | ||
| init | ||
| ipc | ||
| kernel | ||
| lib | ||
| LICENSES | ||
| mm | ||
| net | ||
| samples | ||
| scripts | ||
| security | ||
| sound | ||
| techpack | ||
| tools | ||
| usr | ||
| virt | ||
| .clang-format | ||
| .cocciconfig | ||
| .get_maintainer.ignore | ||
| .gitattributes | ||
| .gitignore | ||
| .mailmap | ||
| abi_gki_aarch64.xml | ||
| abi_gki_aarch64_cf045d8.xml | ||
| build.config.cuttlefish.aarch64 | ||
| build.config.cuttlefish.x86_64 | ||
| build.config.gki.aarch64 | ||
| build.config.gki.x86_64 | ||
| COPYING | ||
| CREDITS | ||
| Kbuild | ||
| Kconfig | ||
| MAINTAINERS | ||
| Makefile | ||
| README | ||
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.