android_kernel_sony_sdm845/kernel
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Rik van Riel 124627553b add extra free kbytes tunable
Add a userspace visible knob to tell the VM to keep an extra amount
of memory free, by increasing the gap between each zone's min and
low watermarks.

This is useful for realtime applications that call system
calls and have a bound on the number of allocations that happen
in any short time period.  In this application, extra_free_kbytes
would be left at an amount equal to or larger than than the
maximum number of allocations that happen in any burst.

It may also be useful to reduce the memory use of virtual
machines (temporarily?), in a way that does not cause memory
fragmentation like ballooning does.

[ccross]
Revived for use on old kernels where no other solution exists.
The tunable will be removed on kernels that do better at avoiding
direct reclaim.

Change-Id: I765a42be8e964bfd3e2886d1ca85a29d60c3bb3e
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Colin Cross <ccross@android.com>
Git-commit: f8ade3666c8612c33929f499b3c8800d83f43d84
Git-repo: https://android.googlesource.com/kernel/common.git
[vinmenon@codeaurora.org: avoid user setting of watermark_scale_factor
to any value other than 0, make the default watermark_scale_factor 0,
changes because of the presence of watermark_scale_factor. Move the
declaration of extra_free_kbytes to include file and remove the
initialization to zero in the definition. This fixes the checkpatch
warnings. Make the inclusion of variable "one_thousand" in kernel/sysctl.c
dependent on CONFIG_PERF_EVENTS which is the only user left now (earlier
being watermark_scale_factor]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2018-02-05 16:29:56 +05:30
..
bpf This is the 4.9.77 stable release 2018-01-17 10:38:29 +01:00
configs ANDROID: add script to fetch android kernel config fragments 2017-10-03 17:19:26 +00:00
debug This is the 4.9.69 stable release 2017-12-14 10:08:45 +01:00
events Merge remote-tracking branch '4.9/tmp-8dd0f52' into msm-4.9 2018-01-02 10:37:28 -08:00
gcov gcov: support GCC 7.1 2017-09-02 07:07:53 +02:00
irq Merge remote-tracking branch '4.9/tmp-379e3b2' into 4.9 2017-10-17 14:48:18 -07:00
livepatch
locking Merge "Merge remote-tracking branch '4.9/tmp-fd67b2f' into msm-4.9" 2017-10-25 17:26:23 -07:00
power qos: Pass the list of cpus with affected qos to notifer 2017-11-03 12:18:22 +05:30
printk
rcu Merge remote-tracking branch '4.9/tmp-86f97ab' into msm-4.9 2017-10-19 13:18:38 -07:00
sched Merge "sched/rt: Use container_of() to get root domain in rto_push_irq_work_func()" 2018-01-26 18:15:31 -08:00
time Merge android-4.9-o.74 (127372f) into msm-4.9 2018-01-18 07:01:08 -08:00
trace Merge android-4.9-o.74 (127372f) into msm-4.9 2018-01-18 07:01:08 -08:00
.gitignore
acct.c kernel/acct.c: fix the acct->needcheck check in check_free_space() 2018-01-10 09:29:51 +01:00
async.c
audit.c audit: ensure that 'audit=1' actually enables audit for PID 1 2017-12-16 16:25:47 +01:00
audit.h
audit_fsnotify.c
audit_tree.c
audit_watch.c audit: Fix use after free in audit_remove_watch_rule() 2017-08-24 17:12:18 -07:00
auditfilter.c
auditsc.c
backtracetest.c
bounds.c
capability.c
cgroup.c cgroup: Fix deadlock in cpu hotplug path 2018-01-26 09:43:35 -08:00
cgroup_freezer.c
cgroup_pids.c
compat.c kernel: Fix build errors due to uninitialized variables 2017-12-05 17:29:24 -08:00
configs.c
context_tracking.c
cpu.c Merge android-4.9-o.74 (127372f) into msm-4.9 2018-01-18 07:01:08 -08:00
cpu_pm.c
cpuset.c Merge "Merge remote-tracking branch '4.9/tmp-05a906d' into msm-4.9" 2017-10-24 19:57:25 -07:00
crash_dump.c
cred.c
delayacct.c
dma.c
elfcore.c
exec_domain.c
exit.c android/lowmemorykiller: Ignore tasks with freed mm 2017-07-20 11:17:28 +05:30
extable.c kernel/extable.c: mark core_kernel_text notrace 2017-07-21 07:42:21 +02:00
fork.c Merge android-4.9-o.75 (2007563) into msm-4.9 2018-01-19 05:20:43 -08:00
freezer.c
futex.c futex: Remove unnecessary warning from get_futex_key 2017-08-16 13:43:15 -07:00
futex_compat.c
groups.c kernel: make groups_sort calling a responsibility group_info allocators 2018-01-10 09:29:52 +01:00
hung_task.c hung task: check specific tasks for long uninterruptible sleep state 2017-10-25 13:51:29 +05:30
irq_work.c
jump_label.c jump_label: Invoke jump_label_test() via early_initcall() 2017-12-14 09:28:24 +01:00
kallsyms.c
kcmp.c
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
kcov.c kcov: make kcov work properly with KASLR enabled 2017-09-19 10:18:24 -07:00
kexec.c
kexec_core.c
kexec_file.c kexec_file: adjust declaration of kexec_purgatory 2017-08-07 17:39:02 -07:00
kexec_internal.h kexec_file: adjust declaration of kexec_purgatory 2017-08-07 17:39:02 -07:00
kmod.c
kprobes.c tracing/kprobes: Enforce kprobes teardown after testing 2017-05-25 15:44:47 +02:00
ksysfs.c
kthread.c Revert "kthread: Ensure task isn't preempted before dequeue in kthread_parkme" 2017-07-12 16:20:39 -07:00
latencytop.c
Makefile kernel/watchdog.c: move hardlockup detector to separate file 2017-06-17 06:41:57 +02:00
membarrier.c
memremap.c
module-internal.h
module.c
module_signing.c
notifier.c
nsproxy.c
padata.c
panic.c soc: qcom: Register default dump entries to minidump table 2017-11-27 14:22:11 +05:30
params.c
pid.c pids: make task_tgid_nr_ns() safe 2017-08-24 17:12:21 -07:00
pid_namespace.c pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes 2017-05-25 15:44:38 +02:00
profile.c
ptrace.c ptrace: Properly initialize ptracer_cred on fork 2017-06-14 15:05:54 +02:00
range.c
reboot.c
relay.c
resource.c kernel: Restrict permissions of /proc/iomem. 2017-08-22 16:19:49 -07:00
seccomp.c seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter() 2017-10-05 09:44:02 +02:00
signal.c kernel/signal.c: remove the no longer needed SIGNAL_UNKILLABLE check in complete_signal() 2018-01-10 09:29:53 +01:00
smp.c smp: Wake up all idle CPUs when suspending to idle 2017-09-07 12:29:06 -07:00
smpboot.c
smpboot.h
softirq.c softirq: defer softirq processing to ksoftirqd if CPU is busy with RT 2017-08-07 15:54:09 +05:30
stacktrace.c
stop_machine.c
sys.c
sys_ni.c
sysctl.c add extra free kbytes tunable 2018-02-05 16:29:56 +05:30
sysctl_binary.c netfilter: nf_defrag_ipv4: Add sysctl to disable per interface 2018-01-10 19:42:37 -07:00
task_work.c
taskstats.c
test_kprobes.c
torture.c
tracepoint.c
tsacct.c
ucount.c kernel/ucount.c: mark user_header with kmemleak_ignore() 2017-06-17 06:41:51 +02:00
uid16.c kernel: make groups_sort calling a responsibility group_info allocators 2018-01-10 09:29:52 +01:00
up.c
user-return-notifier.c
user.c
user_namespace.c
utsname.c
utsname_sysctl.c
watchdog.c ANDROID: hardlockup: detect hard lockups without NMIs using secondary cpus 2017-08-28 11:25:03 -07:00
watchdog_hld.c ANDROID: hardlockup: detect hard lockups without NMIs using secondary cpus 2017-08-28 11:25:03 -07:00
workqueue.c workqueue/hotplug: simplify workqueue_offline_cpu() 2018-01-26 09:43:44 -08:00
workqueue_internal.h workqueue: Fix NULL pointer dereference 2017-11-15 15:53:17 +01:00