Michal Hocko <mhocko@xxxxxxx> writes: > On Mon 11-06-12 14:33:52, Aneesh Kumar K.V wrote: >> Michal Hocko <mhocko@xxxxxxx> writes: >> >> > On Sat 09-06-12 14:29:55, Aneesh Kumar K.V wrote: >> >> From: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> >> >> >> >> Add the hugetlb cgroup pointer to 3rd page lru.next. >> > >> > Interesting and I really like the idea much more than tracking by >> > page_cgroup. >> > >> >> This limit the usage to hugetlb cgroup to only hugepages with 3 or >> >> more normal pages. I guess that is an acceptable limitation. >> > >> > Agreed. >> > >> >> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> >> > >> > Other than some nits I like this. >> > Thanks! >> > >> >> --- >> >> include/linux/hugetlb_cgroup.h | 31 +++++++++++++++++++++++++++++++ >> >> mm/hugetlb.c | 4 ++++ >> >> 2 files changed, 35 insertions(+) >> >> >> >> diff --git a/include/linux/hugetlb_cgroup.h b/include/linux/hugetlb_cgroup.h >> >> index 5794be4..ceff1d5 100644 >> >> --- a/include/linux/hugetlb_cgroup.h >> >> +++ b/include/linux/hugetlb_cgroup.h >> >> @@ -26,6 +26,26 @@ struct hugetlb_cgroup { >> >> }; >> >> >> >> #ifdef CONFIG_CGROUP_HUGETLB_RES_CTLR >> >> +static inline struct hugetlb_cgroup *hugetlb_cgroup_from_page(struct page *page) >> >> +{ >> >> + if (!PageHuge(page)) >> >> + return NULL; >> >> + if (compound_order(page) < 3) >> > >> > Why 3? I think you wanted 2 here, right? >> >> Yes that should be 2. I updated that in an earlier. Already in v9 >> version I have locally. > > ohh, I should have read replies to the patch first where you already > mentioned that you are aware of that. > Maybe it would be worth something like: > /* Minimum page order trackable by hugetlb cgroup. > * At least 3 pages are necessary for all the tracking information. > */ > #define HUGETLB_CGROUP_MIN_ORDER 2 Excellent will do that. -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