Re: [PATCH -V4 04/10] memcg: Add HugeTLB extension

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/19/2012 11:00 AM, KAMEZAWA Hiroyuki wrote:
(2012/03/19 15:52), Aneesh Kumar K.V wrote:

On Mon, 19 Mar 2012 11:38:38 +0900, KAMEZAWA Hiroyuki<kamezawa.hiroyu@xxxxxxxxxxxxxx>  wrote:
(2012/03/17 2:39), Aneesh Kumar K.V wrote:

From: "Aneesh Kumar K.V"<aneesh.kumar@xxxxxxxxxxxxxxxxxx>

This patch implements a memcg extension that allows us to control
HugeTLB allocations via memory controller.



If you write some details here, it will be helpful for review and
seeing log after merge.

Will add more info.



Signed-off-by: Aneesh Kumar K.V<aneesh.kumar@xxxxxxxxxxxxxxxxxx>
---
  include/linux/hugetlb.h    |    1 +
  include/linux/memcontrol.h |   42 +++++++++++++
  init/Kconfig               |    8 +++
  mm/hugetlb.c               |    2 +-
  mm/memcontrol.c            |  138 ++++++++++++++++++++++++++++++++++++++++++++
  5 files changed, 190 insertions(+), 1 deletions(-)

....

+#ifdef CONFIG_MEM_RES_CTLR_HUGETLB
+static bool mem_cgroup_have_hugetlb_usage(struct mem_cgroup *memcg)
+{
+	int idx;
+	for (idx = 0; idx<  hugetlb_max_hstate; idx++) {
+		if (memcg->hugepage[idx].usage>  0)
+			return 1;
+	}
+	return 0;
+}


Please use res_counter_read_u64() rather than reading the value directly.


The open-coded variant is mostly derived from mem_cgroup_force_empty. I
have updated the patch to use res_counter_read_u64.


Ah, ok. it's(maybe) my bad. I'll schedule a fix.

Kame,

I actually have it ready here. I can submit it if you want.

This one has bitten me as well when I was trying to experiment with the res_counter performance...

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]