Re: [PATCH 1/3 staging-next] android: Collect statistics from lowmemorykiller

From: Greg Kroah-Hartman
Date: Thu Feb 09 2017 - 09:02:11 EST


On Thu, Feb 09, 2017 at 02:21:45PM +0100, peter enderborg wrote:
> This collects stats for shrinker calls and how much
> waste work we do within the lowmemorykiller.
>
> Signed-off-by: Peter Enderborg <peter.enderborg@xxxxxxxxxxxxxx>
> ---
> drivers/staging/android/Kconfig | 11 ++++
> drivers/staging/android/Makefile | 1 +
> drivers/staging/android/lowmemorykiller.c | 9 ++-
> drivers/staging/android/lowmemorykiller_stats.c | 85 +++++++++++++++++++++++++
> drivers/staging/android/lowmemorykiller_stats.h | 29 +++++++++
> 5 files changed, 134 insertions(+), 1 deletion(-)
> create mode 100644 drivers/staging/android/lowmemorykiller_stats.c
> create mode 100644 drivers/staging/android/lowmemorykiller_stats.h
>
> diff --git a/drivers/staging/android/Kconfig b/drivers/staging/android/Kconfig
> index 6c00d6f..96e86c7 100644
> --- a/drivers/staging/android/Kconfig
> +++ b/drivers/staging/android/Kconfig
> @@ -24,6 +24,17 @@ config ANDROID_LOW_MEMORY_KILLER
> scripts (/init.rc), and it defines priority values with minimum free memory size
> for each priority.
>
> +config ANDROID_LOW_MEMORY_KILLER_STATS
> + bool "Android Low Memory Killer: collect statistics"
> + depends on ANDROID_LOW_MEMORY_KILLER
> + default n
> + help
> + Create a file in /proc/lmkstats that includes
> + collected statistics about kills, scans and counts
> + and interaction with the shrinker. Its content
> + will be different depeding on lmk implementation used.
> +
> +
> source "drivers/staging/android/ion/Kconfig"
>
> endif # if ANDROID
> diff --git a/drivers/staging/android/Makefile b/drivers/staging/android/Makefile
> index 7ed1be7..d710eb2 100644
> --- a/drivers/staging/android/Makefile
> +++ b/drivers/staging/android/Makefile
> @@ -4,3 +4,4 @@ obj-y += ion/
>
> obj-$(CONFIG_ASHMEM) += ashmem.o
> obj-$(CONFIG_ANDROID_LOW_MEMORY_KILLER) += lowmemorykiller.o
> +obj-$(CONFIG_ANDROID_LOW_MEMORY_KILLER_STATS) += lowmemorykiller_stats.o
> diff --git a/drivers/staging/android/lowmemorykiller.c b/drivers/staging/android/lowmemorykiller.c
> index ec3b665..15c1b38 100644
> --- a/drivers/staging/android/lowmemorykiller.c
> +++ b/drivers/staging/android/lowmemorykiller.c
> @@ -42,6 +42,7 @@
> #include <linux/rcupdate.h>
> #include <linux/profile.h>
> #include <linux/notifier.h>
> +#include "lowmemorykiller_stats.h"
>
> static u32 lowmem_debug_level = 1;
> static short lowmem_adj[6] = {
> @@ -72,6 +73,7 @@ static unsigned long lowmem_deathpending_timeout;
> static unsigned long lowmem_count(struct shrinker *s,
> struct shrink_control *sc)
> {
> + lmk_inc_stats(LMK_COUNT);
> return global_node_page_state(NR_ACTIVE_ANON) +
> global_node_page_state(NR_ACTIVE_FILE) +
> global_node_page_state(NR_INACTIVE_ANON) +

Your patch is corrupted and can not be applied :(

all of them are like this.

greg k-h