This adds necessary charge/uncharge calls in the HugeTLB code. We domemcg charge in page alloc and uncharge in compound page destructor.We also need to ignore HugeTLB pages in __mem_cgroup_uncharge_commonbecause that get called from delete_from_page_cache

+ idx = hstate_index(h); /* * Processes that did not create the mapping will have no * reserves and will not have accounted against subpool@@ -1129,6 +1136,12 @@ static struct page *alloc_huge_page(struct vm_area_struct *vma, if (hugepage_subpool_get_pages(spool, chg)) return ERR_PTR(-ENOSPC);