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, 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>