Re: [PATCH 02/09] memcg: make inactive_anon_is_low()
- From: "KOSAKI Motohiro" <kosaki.motohiro@xxxxxxxxxxxxxx>
- Date: Sun, 30 Nov 2008 23:04:49 +0900
make inactive_anon_is_low for memcgroup.
it improve active_anon vs inactive_anon ratio balancing.
The subject line of this patch seems to be truncated and the changelog
seems bit terse. While the change may be obvious to memcg developers,
it's not for the casual reader.
Yes, I'm wrong.
Will fix.
+static inline int
+mem_cgroup_inactive_anon_is_low(struct mem_cgroup *memcg, struct zone *zone)
+{
+ return 1;
+}
+
+
An extra newline here.
Will fix.
===================================================================
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -156,6 +156,9 @@ struct mem_cgroup {
unsigned long last_oom_jiffies;
int obsolete;
atomic_t refcnt;
+
+ int inactive_ratio;
+
Is there a reason why this is not unsigned long? A comment here
explaining what ->inactive_ratio is used for would be nice.
Ah sorry.
the type of zone->inactive_ratio is unsigned int.
Then, I'd like to change it to unsigned int.
because difference of the global reclaim easily cause silly mistake and bug.
+static void mem_cgroup_set_inactive_ratio(struct mem_cgroup *memcg)
+{
+ unsigned int gb, ratio;
+
+ gb = res_counter_read_u64(&memcg->res, RES_LIMIT) >> 30;
+ ratio = int_sqrt(10 * gb);
You might want to consider adding a comment explaining what the above
calculation is supposed to be doing.
Yes, Of cource.
Thanks.
static DEFINE_MUTEX(set_limit_mutex);
static int mem_cgroup_resize_limit(struct mem_cgroup *memcg,
@@ -1381,6 +1411,11 @@ static int mem_cgroup_resize_limit(struc
GFP_HIGHUSER_MOVABLE, false);
if (!progress) retry_count--;
}
+
+ if (!ret)
+ mem_cgroup_set_inactive_ratio(memcg);
+
+
An extra newline here.
Will fix.
@@ -1423,6 +1458,7 @@ int mem_cgroup_resize_memsw_limit(struct
if (curusage >= oldusage)
retry_count--;
}
+
return ret;
}
There's some diff noise here.
ditto.
thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- [PATCH 00/09] memcg: split-lru feature for memcg
- From: KOSAKI Motohiro
- [PATCH 02/09] memcg: make inactive_anon_is_low()
- From: KOSAKI Motohiro
- Re: [PATCH 02/09] memcg: make inactive_anon_is_low()
- From: Pekka Enberg
- [PATCH 00/09] memcg: split-lru feature for memcg
- Prev by Date: Re: [PATCH 02/09] memcg: make inactive_anon_is_low()
- Next by Date: Re: [PATCH] fix pktcdvd breakage from commit e105b8bfc769b0545b6f0f395179d1e43cbee822
- Previous by thread: Re: [PATCH 02/09] memcg: make inactive_anon_is_low()
- Next by thread: Re: [PATCH 02/09] memcg: make inactive_anon_is_low()
- Index(es):
Relevant Pages
|