lkml.org 
[lkml]   [2012]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH -V8 10/16] hugetlb/cgroup: Add the cgroup pointer to page lru
Date
Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> writes:

> (2012/06/09 17:59), Aneesh Kumar K.V wrote:
>> From: "Aneesh Kumar K.V"<aneesh.kumar@linux.vnet.ibm.com>
>>
>> Add the hugetlb cgroup pointer to 3rd page lru.next. This limit
>> the usage to hugetlb cgroup to only hugepages with 3 or more
>> normal pages. I guess that is an acceptable limitation.
>>
>> Signed-off-by: Aneesh Kumar K.V<aneesh.kumar@linux.vnet.ibm.com>
>> ---
>> 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;
>
> I'm not very sure but....
>
> VM_BUG_ON(!PageHuge(page)) ??
>
>
>
>> + 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;
>
> ditto.
>
>> + if (compound_order(page)< 3)
>> + return -1;
>> + page[2].lru.next = (void *)h_cg;
>> + return 0;
>> +}
>> +

done

-aneesh



\
 
 \ /
  Last update: 2012-06-12 12:22    [W:0.235 / U:0.508 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site