[vserver] patch try for ram on 4.1.27

From: Ghislain <gadnet_at_aqueos.com>
Date: Wed 29 Jun 2016 - 09:19:28 BST
Message-ID: <46b0ba72-6c21-e064-46a2-3cb440571bb0@aqueos.com>

hi,

  here is my apptempt to change the memory report on 4.1.27. Could you
have a look ?

regards,
Ghislain.

--- /vservers/kernel/linux-4.1.27/mm/memcontrol.c 2016-06-29
10:08:02.981246645 +0200
+++ /root/memcontrol.c 2016-06-29 10:04:47.830990008 +0200
@@ -3194,22 +3194,26 @@ static u64 mem_cgroup_read_u64(struct cg

  u64 mem_cgroup_mem_usage(struct mem_cgroup *memcg)
  {
- return mem_cgroup_usage(memcg, false);
+ // retour en ram
+ return (mem_cgroup_usage(memcg, false) >> PAGE_SHIFT );
  }

  u64 mem_cgroup_mem_limit(struct mem_cgroup *memcg)
  {
- return (u64)memcg->memory.limit * PAGE_SIZE;
+ // retour en page
+ return (u64)memcg->memory.limit;
  }

  u64 mem_cgroup_memsw_usage(struct mem_cgroup *memcg)
  {
- return mem_cgroup_usage(memcg, true);
+ // retour en ram
+ return (mem_cgroup_usage(memcg, true) >> PAGE_SHIFT );
  }

  u64 mem_cgroup_memsw_limit(struct mem_cgroup *memcg)
  {
- return (u64)memcg->memsw.limit * PAGE_SIZE;
+ // retour en page
+ return (u64)memcg->memsw.limit;
  }

  --- /vservers/kernel/linux-4.1.27/kernel/vserver/limit.c 2016-06-29
10:08:05.909340521 +0200
+++ /root/limit.c 2016-06-29 10:04:16.773994303 +0200
@@ -270,8 +270,9 @@ void vx_vsi_meminfo(struct sysinfo *val)
         res_usage = mem_cgroup_mem_usage(mcg);

         if (res_limit != PAGE_COUNTER_MAX)
- val->totalram = (res_limit >> PAGE_SHIFT);
- val->freeram = val->totalram - (res_usage >> PAGE_SHIFT);
+ val->totalram = ( val->totalram > res_limit ) ?
+ res_limit : val->totalram;
+ val->freeram = val->totalram - res_usage ;
         val->bufferram = 0;
         val->totalhigh = 0;
         val->freehigh = 0;
@@ -304,7 +305,7 @@ void vx_vsi_swapinfo(struct sysinfo *val
         swap_limit = memsw_limit - res_limit;
         /* we have a swap limit? */
         if (memsw_limit != PAGE_COUNTER_MAX)
- val->totalswap = swap_limit >> PAGE_SHIFT;
+ val->totalswap = swap_limit ;

         /* calculate swap part */
         swap_usage = (memsw_usage > res_usage) ?
@@ -312,7 +313,7 @@ void vx_vsi_swapinfo(struct sysinfo *val

         /* total shown minus usage gives free swap */
         val->freeswap = (swap_usage < swap_limit) ?
- val->totalswap - (swap_usage >> PAGE_SHIFT) : 0;
+ val->totalswap - swap_usage : 0;
  out:
  #else /* !CONFIG_MEMCG_SWAP */
         val->totalswap = 0;

Received on Wed Jun 29 09:15:32 2016
[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Wed 29 Jun 2016 - 09:15:32 BST by hypermail 2.1.8