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

From: Greg KH
Date: Wed Feb 15 2017 - 09:29:26 EST


On Wed, Feb 15, 2017 at 09:22:10AM +0100, peter enderborg wrote:
> On 02/14/2017 05:50 PM, Greg KH wrote:
> > On Tue, Feb 14, 2017 at 05:09:30PM +0100, peter.enderborg@xxxxxxxxxxxxxx wrote:
> >> From: Peter Enderborg <peter.enderborg@xxxxxxxxxxxxxx>
> >>
> >> 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.
> > Ick, no new /proc files please, this isn't a "process" value. What's
> > wrong with debugfs?
> This is intended for android. Android users are very limited in their access
> to linux part of the system on commercial models and lmk activity has a bad impact on the performance
> of the device. Even the application developers has not much access so it seems to be fair to give
> the users the information about why there is a problem.

Why would you want to give "all users" this information at all? This is
a debugging tool, your debugging userspace framework can use whatever
interface you create to access it (i.e. debugfs).

Again, do not add debugging stuff to /proc/ that's not ok, sorry.

thanks,

greg k-h