* [PATCH] mm/hugetlb_cgroup: Add list_del to remove unused page from hugepage_activelist when hugepage migration @ 2012-07-11 3:51 Wanpeng Li 2012-07-11 8:32 ` Aneesh Kumar K.V 0 siblings, 1 reply; 5+ messages in thread From: Wanpeng Li @ 2012-07-11 3:51 UTC (permalink / raw) To: linux-mm Cc: Andrew Morton, Li Zefan, Tejun Heo, Aneesh Kumar K.V, cgroups, linux-kernel, Wanpeng Li From: Wanpeng Li <liwp@linux.vnet.ibm.com> hugepage_activelist is used to track currently used HugeTLB pages. We can find the in-use HugeTLB pages to support HugeTLB cgroup removal. Don't keep unused page in hugetlb_activelist too long. Otherwise, on cgroup removal we should update the unused page's charge to parent count. To reduce this overhead, remove unused page from hugepage_activelist immediately. Signed-off-by: Wanpeng Li <liwp.linux@gmail.com> --- mm/hugetlb_cgroup.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c index b834e8d..d819d66 100644 --- a/mm/hugetlb_cgroup.c +++ b/mm/hugetlb_cgroup.c @@ -398,6 +398,7 @@ void hugetlb_cgroup_migrate(struct page *oldhpage, struct page *newhpage) spin_lock(&hugetlb_lock); h_cg = hugetlb_cgroup_from_page(oldhpage); set_hugetlb_cgroup(oldhpage, NULL); + list_del(&oldhpage->lru); /* move the h_cg details to new cgroup */ set_hugetlb_cgroup(newhpage, h_cg); -- 1.7.5.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] mm/hugetlb_cgroup: Add list_del to remove unused page from hugepage_activelist when hugepage migration 2012-07-11 3:51 [PATCH] mm/hugetlb_cgroup: Add list_del to remove unused page from hugepage_activelist when hugepage migration Wanpeng Li @ 2012-07-11 8:32 ` Aneesh Kumar K.V [not found] ` <87wr2aitpk.fsf-6yE53ggjAfyqSkle7U1LjlaTQe2KTcn/@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Aneesh Kumar K.V @ 2012-07-11 8:32 UTC (permalink / raw) To: Wanpeng Li, linux-mm Cc: Andrew Morton, Li Zefan, Tejun Heo, cgroups, linux-kernel, Wanpeng Li Wanpeng Li <liwp.linux@gmail.com> writes: > From: Wanpeng Li <liwp@linux.vnet.ibm.com> > > hugepage_activelist is used to track currently used HugeTLB pages. > We can find the in-use HugeTLB pages to support HugeTLB cgroup > removal. Don't keep unused page in hugetlb_activelist too long. > Otherwise, on cgroup removal we should update the unused page's > charge to parent count. To reduce this overhead, remove unused page > from hugepage_activelist immediately. > > Signed-off-by: Wanpeng Li <liwp.linux@gmail.com> > --- > mm/hugetlb_cgroup.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c > index b834e8d..d819d66 100644 > --- a/mm/hugetlb_cgroup.c > +++ b/mm/hugetlb_cgroup.c > @@ -398,6 +398,7 @@ void hugetlb_cgroup_migrate(struct page *oldhpage, struct page *newhpage) > spin_lock(&hugetlb_lock); > h_cg = hugetlb_cgroup_from_page(oldhpage); > set_hugetlb_cgroup(oldhpage, NULL); > + list_del(&oldhpage->lru); > > /* move the h_cg details to new cgroup */ > set_hugetlb_cgroup(newhpage, h_cg); put_page on the oldhpage will do that. If we do list_del here free_huge_page() will have error list_move(). -aneesh -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <87wr2aitpk.fsf-6yE53ggjAfyqSkle7U1LjlaTQe2KTcn/@public.gmane.org>]
* Re: [PATCH] mm/hugetlb_cgroup: Add list_del to remove unused page from hugepage_activelist when hugepage migration [not found] ` <87wr2aitpk.fsf-6yE53ggjAfyqSkle7U1LjlaTQe2KTcn/@public.gmane.org> @ 2012-07-11 9:17 ` Wanpeng Li 2012-07-11 9:45 ` Aneesh Kumar K.V 0 siblings, 1 reply; 5+ messages in thread From: Wanpeng Li @ 2012-07-11 9:17 UTC (permalink / raw) To: Aneesh Kumar K.V Cc: Andrew Morton, Li Zefan, Tejun Heo, cgroups-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Wanpeng Li On Wed, Jul 11, 2012 at 02:02:23PM +0530, Aneesh Kumar K.V wrote: >Wanpeng Li <liwp.linux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes: > >> From: Wanpeng Li <liwp-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> >> >> hugepage_activelist is used to track currently used HugeTLB pages. >> We can find the in-use HugeTLB pages to support HugeTLB cgroup >> removal. Don't keep unused page in hugetlb_activelist too long. >> Otherwise, on cgroup removal we should update the unused page's >> charge to parent count. To reduce this overhead, remove unused page >> from hugepage_activelist immediately. >> >> Signed-off-by: Wanpeng Li <liwp.linux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >> --- >> mm/hugetlb_cgroup.c | 1 + >> 1 files changed, 1 insertions(+), 0 deletions(-) >> >> diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c >> index b834e8d..d819d66 100644 >> --- a/mm/hugetlb_cgroup.c >> +++ b/mm/hugetlb_cgroup.c >> @@ -398,6 +398,7 @@ void hugetlb_cgroup_migrate(struct page *oldhpage, struct page *newhpage) >> spin_lock(&hugetlb_lock); >> h_cg = hugetlb_cgroup_from_page(oldhpage); >> set_hugetlb_cgroup(oldhpage, NULL); >> + list_del(&oldhpage->lru); >> >> /* move the h_cg details to new cgroup */ >> set_hugetlb_cgroup(newhpage, h_cg); > >put_page on the oldhpage will do that. If we do list_del here >free_huge_page() will have error list_move(). I don't know if move the page to other lists when migration in order to reduce overhead I mentioned make sense. :-) Regards, Wanpeng Li > >-aneesh ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm/hugetlb_cgroup: Add list_del to remove unused page from hugepage_activelist when hugepage migration 2012-07-11 9:17 ` Wanpeng Li @ 2012-07-11 9:45 ` Aneesh Kumar K.V [not found] ` <87txxeiqc0.fsf-6yE53ggjAfyqSkle7U1LjlaTQe2KTcn/@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Aneesh Kumar K.V @ 2012-07-11 9:45 UTC (permalink / raw) To: Wanpeng Li Cc: Andrew Morton, Li Zefan, Tejun Heo, cgroups, linux-kernel, Wanpeng Li Wanpeng Li <liwp.linux@gmail.com> writes: > On Wed, Jul 11, 2012 at 02:02:23PM +0530, Aneesh Kumar K.V wrote: >>Wanpeng Li <liwp.linux@gmail.com> writes: >> >>> From: Wanpeng Li <liwp@linux.vnet.ibm.com> >>> >>> hugepage_activelist is used to track currently used HugeTLB pages. >>> We can find the in-use HugeTLB pages to support HugeTLB cgroup >>> removal. Don't keep unused page in hugetlb_activelist too long. >>> Otherwise, on cgroup removal we should update the unused page's >>> charge to parent count. To reduce this overhead, remove unused page >>> from hugepage_activelist immediately. >>> >>> Signed-off-by: Wanpeng Li <liwp.linux@gmail.com> >>> --- >>> mm/hugetlb_cgroup.c | 1 + >>> 1 files changed, 1 insertions(+), 0 deletions(-) >>> >>> diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c >>> index b834e8d..d819d66 100644 >>> --- a/mm/hugetlb_cgroup.c >>> +++ b/mm/hugetlb_cgroup.c >>> @@ -398,6 +398,7 @@ void hugetlb_cgroup_migrate(struct page *oldhpage, struct page *newhpage) >>> spin_lock(&hugetlb_lock); >>> h_cg = hugetlb_cgroup_from_page(oldhpage); >>> set_hugetlb_cgroup(oldhpage, NULL); >>> + list_del(&oldhpage->lru); >>> >>> /* move the h_cg details to new cgroup */ >>> set_hugetlb_cgroup(newhpage, h_cg); >> >>put_page on the oldhpage will do that. If we do list_del here >>free_huge_page() will have error list_move(). > > I don't know if move the page to other lists when migration in order > to reduce overhead I mentioned make sense. :-) > Even if we are in the active_list, we don't get anything wrong because hugetlb cgroup is set to NULL for the old hugetlb page. The above patch is wrong and will result in crash when we try to put_page the oldhpage. -aneesh ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <87txxeiqc0.fsf-6yE53ggjAfyqSkle7U1LjlaTQe2KTcn/@public.gmane.org>]
* Re: [PATCH] mm/hugetlb_cgroup: Add list_del to remove unused page from hugepage_activelist when hugepage migration [not found] ` <87txxeiqc0.fsf-6yE53ggjAfyqSkle7U1LjlaTQe2KTcn/@public.gmane.org> @ 2012-07-11 10:16 ` Wanpeng Li 0 siblings, 0 replies; 5+ messages in thread From: Wanpeng Li @ 2012-07-11 10:16 UTC (permalink / raw) To: Aneesh Kumar K.V Cc: Andrew Morton, Li Zefan, Tejun Heo, cgroups-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Wanpeng Li On Wed, Jul 11, 2012 at 03:15:19PM +0530, Aneesh Kumar K.V wrote: >Wanpeng Li <liwp.linux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes: > >> On Wed, Jul 11, 2012 at 02:02:23PM +0530, Aneesh Kumar K.V wrote: >>>Wanpeng Li <liwp.linux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes: >>> >>>> From: Wanpeng Li <liwp-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> >>>> >>>> hugepage_activelist is used to track currently used HugeTLB pages. >>>> We can find the in-use HugeTLB pages to support HugeTLB cgroup >>>> removal. Don't keep unused page in hugetlb_activelist too long. >>>> Otherwise, on cgroup removal we should update the unused page's >>>> charge to parent count. To reduce this overhead, remove unused page >>>> from hugepage_activelist immediately. >>>> >>>> Signed-off-by: Wanpeng Li <liwp.linux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >>>> --- >>>> mm/hugetlb_cgroup.c | 1 + >>>> 1 files changed, 1 insertions(+), 0 deletions(-) >>>> >>>> diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c >>>> index b834e8d..d819d66 100644 >>>> --- a/mm/hugetlb_cgroup.c >>>> +++ b/mm/hugetlb_cgroup.c >>>> @@ -398,6 +398,7 @@ void hugetlb_cgroup_migrate(struct page *oldhpage, struct page *newhpage) >>>> spin_lock(&hugetlb_lock); >>>> h_cg = hugetlb_cgroup_from_page(oldhpage); >>>> set_hugetlb_cgroup(oldhpage, NULL); >>>> + list_del(&oldhpage->lru); >>>> >>>> /* move the h_cg details to new cgroup */ >>>> set_hugetlb_cgroup(newhpage, h_cg); >>> >>>put_page on the oldhpage will do that. If we do list_del here >>>free_huge_page() will have error list_move(). >> >> I don't know if move the page to other lists when migration in order >> to reduce overhead I mentioned make sense. :-) >> > >Even if we are in the active_list, we don't get anything wrong because >hugetlb cgroup is set to NULL for the old hugetlb page. The above patch is >wrong and will result in crash when we try to put_page the oldhpage. Hi aneesh, I am happy we are in the same company. I am a guy in LTC China. I want to know if there any features or works about hugetlb cgroup I can do with you! Regards, Wanpeng Li > >-aneesh > >-- >To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org >More majordomo info at http://vger.kernel.org/majordomo-info.html >Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-07-11 10:16 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-11 3:51 [PATCH] mm/hugetlb_cgroup: Add list_del to remove unused page from hugepage_activelist when hugepage migration Wanpeng Li
2012-07-11 8:32 ` Aneesh Kumar K.V
[not found] ` <87wr2aitpk.fsf-6yE53ggjAfyqSkle7U1LjlaTQe2KTcn/@public.gmane.org>
2012-07-11 9:17 ` Wanpeng Li
2012-07-11 9:45 ` Aneesh Kumar K.V
[not found] ` <87txxeiqc0.fsf-6yE53ggjAfyqSkle7U1LjlaTQe2KTcn/@public.gmane.org>
2012-07-11 10:16 ` Wanpeng Li
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).