aboutsummaryrefslogtreecommitdiff
path: root/drivers/android/Kconfig
blob: 31aa8045508199c61fffc998b25759108cb8366e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# SPDX-License-Identifier: GPL-2.0
menu "Android"

config ANDROID
	bool "Android Drivers"
	---help---
	  Enable support for various drivers needed on the Android platform

if ANDROID

config ANDROID_BINDER_IPC
	bool "Android Binder IPC Driver"
	depends on MMU && !M68K
	default n
	---help---
	  Binder is used in Android for both communication between processes,
	  and remote method invocation.

	  This means one Android process can call a method/routine in another
	  Android process, using Binder to identify, invoke and pass arguments
	  between said processes.

config ANDROID_BINDER_DEVICES
	string "Android Binder devices"
	depends on ANDROID_BINDER_IPC
	default "binder,hwbinder,vndbinder"
	---help---
	  Default value for the binder.devices parameter.

	  The binder.devices parameter is a comma-separated list of strings
	  that specifies the names of the binder device nodes that will be
	  created. Each binder device has its own context manager, and is
	  therefore logically separated from the other devices.

config ANDROID_BINDER_IPC_SELFTEST
	bool "Android Binder IPC Driver Selftest"
	depends on ANDROID_BINDER_IPC
	---help---
	  This feature allows binder selftest to run.

	  Binder selftest checks the allocation and free of binder buffers
	  exhaustively with combinations of various buffer sizes and
	  alignments.

config ANDROID_SIMPLE_LMK
	bool "Simple Android Low Memory Killer"
	depends on !ANDROID_LOW_MEMORY_KILLER && !MEMCG
	---help---
	  This is a complete low memory killer solution for Android that is
	  small and simple. Processes are killed according to the priorities
	  that Android gives them, so that the least important processes are
	  always killed first. Processes are killed until memory deficits are
	  satisfied, as observed from kswapd struggling to free up pages. Simple
	  LMK stops killing processes when kswapd finally goes back to sleep.

if ANDROID_SIMPLE_LMK

config ANDROID_SIMPLE_LMK_MINFREE
	int "Minimum MiB of memory to free per reclaim"
	range 8 512
	default 100
	help
	  Simple LMK will try to free at least this much memory per reclaim.

config ANDROID_SIMPLE_LMK_TIMEOUT_MSEC
	int "Reclaim timeout in milliseconds"
	range 50 1000
	default 200
	help
	  Simple LMK tries to wait until all of the victims it kills have their
	  memory freed; however, sometimes victims can take a while to die,
	  which can block Simple LMK from killing more processes in time when
	  needed. After the specified timeout elapses, Simple LMK will stop
	  waiting and make itself available to kill more processes.

endif

endif # if ANDROID

endmenu