Because rmdir() moves all pages to parent, some out-of-use page caches can be
   moved to the parent. If you want to avoid that, force_empty will be useful.
 
+5.2 stat file
+  memory.stat file includes following statistics (now)
+       cache                   - # of pages from page-cache and shmem.
+       rss                     - # of pages from anonymous memory.
+       pgpgin                  - # of event of charging
+       pgpgout                 - # of event of uncharging
+       active_anon             - # of pages on active lru of anon, shmem.
+       inactive_anon           - # of pages on active lru of anon, shmem
+       active_file             - # of pages on active lru of file-cache
+       inactive_file           - # of pages on inactive lru of file cache
+       unevictable             - # of pages cannot be reclaimed.(mlocked etc)
+
+       Below is depend on CONFIG_DEBUG_VM.
+       inactive_ratio          - VM inernal parameter. (see mm/page_alloc.c)
+       recent_rotated_anon     - VM internal parameter. (see mm/vmscan.c)
+       recent_rotated_file     - VM internal parameter. (see mm/vmscan.c)
+       recent_scanned_anon     - VM internal parameter. (see mm/vmscan.c)
+       recent_scanned_file     - VM internal parameter. (see mm/vmscan.c)
+
+  Memo:
+       recent_rotated means recent frequency of lru rotation.
+       recent_scanned means recent # of scans to lru.
+       showing for better debug please see the code for meanings.
+
+
 6. Hierarchy support
 
 The memory controller supports a deep hierarchy and hierarchical accounting.
 
                cb->fill(cb, "unevictable", unevictable * PAGE_SIZE);
 
        }
+
+#ifdef CONFIG_DEBUG_VM
+       cb->fill(cb, "inactive_ratio", mem_cont->inactive_ratio);
+
+       {
+               int nid, zid;
+               struct mem_cgroup_per_zone *mz;
+               unsigned long recent_rotated[2] = {0, 0};
+               unsigned long recent_scanned[2] = {0, 0};
+
+               for_each_online_node(nid)
+                       for (zid = 0; zid < MAX_NR_ZONES; zid++) {
+                               mz = mem_cgroup_zoneinfo(mem_cont, nid, zid);
+
+                               recent_rotated[0] +=
+                                       mz->reclaim_stat.recent_rotated[0];
+                               recent_rotated[1] +=
+                                       mz->reclaim_stat.recent_rotated[1];
+                               recent_scanned[0] +=
+                                       mz->reclaim_stat.recent_scanned[0];
+                               recent_scanned[1] +=
+                                       mz->reclaim_stat.recent_scanned[1];
+                       }
+               cb->fill(cb, "recent_rotated_anon", recent_rotated[0]);
+               cb->fill(cb, "recent_rotated_file", recent_rotated[1]);
+               cb->fill(cb, "recent_scanned_anon", recent_scanned[0]);
+               cb->fill(cb, "recent_scanned_file", recent_scanned[1]);
+       }
+#endif
+
        return 0;
 }