Go to file
Mark Salyzyn fbb45227c0 llkd: moved from optional to required component
The Live Lock Killer Daemon (llkd) has provided enough hero moments to
improve system stability, by providing actionable collection of data
to resolve kernel, and some user space, misbehaviors.  It is time to
move llkd to a required component.

NB: For llkd to be effective at finding real kernel live lock
conditions, system requirements are that there are no more un-waited
for Zombie processes, and that no kernel drivers use indeterminate
periods of uninterruptible sleep.  Any kernel and user space tasks
that are killed because of suspicious behavior, must themselves have
a benefactor to restart them if necessary.  If a true live lock is
discovered, data will be collected and the kernel will be panic'd to
recover from the situation.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 164946924
Test: llkd is ever present on a release build.
Change-Id: I986a8545252bc5b68d09a6a0f4f506a58998c8a0
2020-09-08 07:58:16 -07:00
common Change use of sanity-check to "test". Makes comment line more clear what the code does. 2020-07-30 22:11:58 +00:00
core Merge "Set PRODUCT_PRODUCT_VNDK_VERSION from product_config.mk" 2020-09-08 04:30:04 +00:00
packaging Fix creating _dist_<goal> targets under !dist 2018-10-21 08:56:27 -07:00
target llkd: moved from optional to required component 2020-09-08 07:58:16 -07:00
tests Only set TARGET_PLATFORM version in lunch when explicitly requested 2017-05-01 14:26:40 -07:00
tools Generate partition timestamps in ota_from_target_files 2020-09-03 14:04:21 -04:00
.gitignore Add build subprojects to .gitignore 2015-07-23 13:18:47 -07:00
Changes.md Require required modules to exist 2020-08-06 06:41:09 +00:00
CleanSpec.mk Remove /system/etc/prop.default 2020-05-14 16:28:19 +09:00
Deprecation.md Obsolete unused module types 2020-04-18 21:00:18 -07:00
OWNERS Merge "Update OWNERS for version_defaults.mk with pscovanner & lubomir Bug: 141272605" into qt-dev am: 5d0a024d7b am: 479c9c549b 2019-10-16 11:30:32 -07:00
README.md Mark envsetup.sh vars as deprecated in makefiles 2017-11-28 14:19:50 -08:00
Usage.txt Remove the PRODUCT-* goal 2019-07-29 14:27:04 -07:00
buildspec.mk.default Add TARGET_PLATFORM_VERSION to lunch 2017-03-23 09:44:08 -07:00
envsetup.sh Do not print environment variables if ANDROID_QUIET_BUILD is set. 2020-06-04 10:48:15 -07:00
help.sh Add odm_dlkm partition. 2020-07-16 12:34:29 -07:00
navbar.md Mark envsetup.sh vars as deprecated in makefiles 2017-11-28 14:19:50 -08:00
rbesetup.sh Unset USE_GOMA when using RBE. 2020-08-26 05:47:33 -04:00
tapasHelp.sh Remove unused mips workarounds. 2020-03-06 16:46:59 -08:00

README.md

Android Make Build System

This is the Makefile-based portion of the Android Build System.

For documentation on how to run a build, see Usage.txt

For a list of behavioral changes useful for Android.mk writers see Changes.md

For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.

This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.