2013-08-21 01:48:54

by Ma, Xindong

[permalink] [raw]
Subject: [PATCH] LMK: Optimize lowmem_shrink

From: Leon Ma <[email protected]>
Date: Mon, 19 Aug 2013 14:22:38 +0800
Subject: [PATCH] LMK: Optimize lowmem_shrink.

By comparing with selected_oom_score_adj instead of min_score_adj,
we may do less calculation.

Signed-off-by: Leon Ma <[email protected]>
---
drivers/staging/android/lowmemorykiller.c | 12 ++++--------
1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/android/lowmemorykiller.c b/drivers/staging/android/lowmemorykiller.c
index f6c05c9..cb944c5 100644
--- a/drivers/staging/android/lowmemorykiller.c
+++ b/drivers/staging/android/lowmemorykiller.c
@@ -126,7 +126,7 @@ static int lowmem_shrink(struct shrinker *s, struct shrink_control *sc)
return 0;
}
oom_score_adj = p->signal->oom_score_adj;
- if (oom_score_adj < min_score_adj) {
+ if (oom_score_adj < selected_oom_score_adj) {
task_unlock(p);
continue;
}
@@ -134,13 +134,9 @@ static int lowmem_shrink(struct shrinker *s, struct shrink_control *sc)
task_unlock(p);
if (tasksize <= 0)
continue;
- if (selected) {
- if (oom_score_adj < selected_oom_score_adj)
- continue;
- if (oom_score_adj == selected_oom_score_adj &&
- tasksize <= selected_tasksize)
- continue;
- }
+ if (selected && oom_score_adj == selected_oom_score_adj &&
+ tasksize <= selected_tasksize)
+ continue;
selected = p;
selected_tasksize = tasksize;
selected_oom_score_adj = oom_score_adj;
--
1.7.4.1



2013-08-23 16:48:13

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] LMK: Optimize lowmem_shrink

On Wed, Aug 21, 2013 at 09:41:05AM +0800, Leon Ma wrote:
> From: Leon Ma <[email protected]>
> Date: Mon, 19 Aug 2013 14:22:38 +0800
> Subject: [PATCH] LMK: Optimize lowmem_shrink.

Why is all of this in the patch body?

And what does "LMK:" stand for?

> By comparing with selected_oom_score_adj instead of min_score_adj,
> we may do less calculation.

What does this change? Does it fix a problem?

thanks,

greg k-h

2013-08-23 21:21:28

by Sergey Senozhatsky

[permalink] [raw]
Subject: Re: [PATCH] LMK: Optimize lowmem_shrink

On (08/23/13 09:48), Greg KH wrote:
> Subject: Re: [PATCH] LMK: Optimize lowmem_shrink
> User-Agent: Mutt/1.5.21 (2010-09-15)
>
> On Wed, Aug 21, 2013 at 09:41:05AM +0800, Leon Ma wrote:
> > From: Leon Ma <[email protected]>
> > Date: Mon, 19 Aug 2013 14:22:38 +0800
> > Subject: [PATCH] LMK: Optimize lowmem_shrink.
>
> Why is all of this in the patch body?
>
> And what does "LMK:" stand for?
>
> > By comparing with selected_oom_score_adj instead of min_score_adj,
> > we may do less calculation.
>
> What does this change? Does it fix a problem?

Hello,

linux-next since

c95dd63d4cc3647643ff502d70c4c1b52947c770
Author: Dave Chinner <[email protected]>
Date: Fri Aug 16 09:39:54 2013 +1000

drivers: convert shrinkers to new count/scan API

does not contain lowmem_shrink(), but lowmem_scan() instead. plus at lest
one more patch on top of it (e2bfaf75e763396b7baa7c1effa4053d7f19e6d3):

[..]
-static int lowmem_shrink(struct shrinker *s, struct shrink_control *sc)

+static long lowmem_scan(struct shrinker *s, struct shrink_control *sc)
[..]

wouldn't it be better to have the patch against -next in this case (in
case it fixes anything)?

thanks,
-ss

> thanks,
>
> greg k-h
> _______________________________________________
> devel mailing list
> [email protected]
> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
>