Kamezawa Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> writes: > You can use other pages than head/tails. > For example,I think you have 512 pages per 2M pages. How about the below. This limit the usage to hugetlb cgroup to only hugepages with more than 3 normal pages. I guess that is an acceptable limitation. static inline struct hugetlb_cgroup *hugetlb_cgroup_from_page(struct page *page) { if (!PageHuge(page)) return NULL; if (compound_order(page) < 3) return NULL; return (struct hugetlb_cgroup *)page[2].lru.next; } static inline int set_hugetlb_cgroup(struct page *page, struct hugetlb_cgroup *h_cg) { if (!PageHuge(page)) return -1; if (compound_order(page) < 3) return -1; page[2].lru.next = (void *)h_cg; return 0; } -aneesh -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html