On Mon, Apr 15, 2013 at 03:03:29PM +0200, Oskar Andero wrote: > From: Snild Dolkow <snild.dolkow@xxxxxxxxxxxxxx> > > Running multiple instances of LMK is not useful since it will try to > kill the same process. > > This patch adds a spinlock to prevent multiple instances of the LMK > running at the same time. Uses spin_trylock and return on failure to > avoid blocking. > > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Cc: Brian Swetland <swetland@xxxxxxxxxx> > Reviewed-by: Radovan Lekanovic <radovan.lekanovic@xxxxxxxxxxxxxx> > Signed-off-by: Snild Dolkow <snild.dolkow@xxxxxxxxxxxxxx> > Signed-off-by: Oskar Andero <oskar.andero@xxxxxxxxxxxxxx> > --- > drivers/staging/android/lowmemorykiller.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/staging/android/lowmemorykiller.c b/drivers/staging/android/lowmemorykiller.c > index 3b91b0f..0b19353 100644 > --- a/drivers/staging/android/lowmemorykiller.c > +++ b/drivers/staging/android/lowmemorykiller.c > @@ -38,6 +38,7 @@ > #include <linux/rcupdate.h> > #include <linux/profile.h> > #include <linux/notifier.h> > +#include <linux/spinlock.h> > > static uint32_t lowmem_debug_level = 2; > static short lowmem_adj[6] = { > @@ -57,6 +58,8 @@ static int lowmem_minfree_size = 4; > > static unsigned long lowmem_deathpending_timeout; > > +#define LMK_BUSY (-1) Where is lowmem_shrink called from? I only see shrink called from the bcache sysfs handler __bch_cache_set(). The return value isn't checked there. Up to now this function has only returns positive numbers. There isn't a place which check LMK_BUSY so maybe it's best to just return zero? regards, dan carpenter _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel