Re: [PATCH 1/2] arm64: hugetlb: remove the wrong pmd check in find_num_contig()

2016-11-07 Thread Huang Shijie
On Fri, Nov 04, 2016 at 09:48:14AM -0600, Catalin Marinas wrote: > On Fri, Nov 04, 2016 at 10:52:17AM +0800, Huang Shijie wrote: > > On Thu, Nov 03, 2016 at 06:16:16PM -0600, Catalin Marinas wrote: > > > On Thu, Nov 03, 2016 at 10:27:38AM +0800, Huang Shijie wrote: > > > > diff --git

Re: [PATCH 1/2] arm64: hugetlb: remove the wrong pmd check in find_num_contig()

2016-11-07 Thread Huang Shijie
On Fri, Nov 04, 2016 at 09:48:14AM -0600, Catalin Marinas wrote: > On Fri, Nov 04, 2016 at 10:52:17AM +0800, Huang Shijie wrote: > > On Thu, Nov 03, 2016 at 06:16:16PM -0600, Catalin Marinas wrote: > > > On Thu, Nov 03, 2016 at 10:27:38AM +0800, Huang Shijie wrote: > > > > diff --git

Re: [PATCH 1/2] arm64: hugetlb: remove the wrong pmd check in find_num_contig()

2016-11-04 Thread Catalin Marinas
On Fri, Nov 04, 2016 at 10:52:17AM +0800, Huang Shijie wrote: > On Thu, Nov 03, 2016 at 06:16:16PM -0600, Catalin Marinas wrote: > > On Thu, Nov 03, 2016 at 10:27:38AM +0800, Huang Shijie wrote: > > > diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c > > > index

Re: [PATCH 1/2] arm64: hugetlb: remove the wrong pmd check in find_num_contig()

2016-11-04 Thread Catalin Marinas
On Fri, Nov 04, 2016 at 10:52:17AM +0800, Huang Shijie wrote: > On Thu, Nov 03, 2016 at 06:16:16PM -0600, Catalin Marinas wrote: > > On Thu, Nov 03, 2016 at 10:27:38AM +0800, Huang Shijie wrote: > > > diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c > > > index

Re: [PATCH 1/2] arm64: hugetlb: remove the wrong pmd check in find_num_contig()

2016-11-03 Thread Huang Shijie
On Thu, Nov 03, 2016 at 06:16:16PM -0600, Catalin Marinas wrote: > On Thu, Nov 03, 2016 at 10:27:38AM +0800, Huang Shijie wrote: > > diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c > > index 2e49bd2..4811ef1 100644 > > --- a/arch/arm64/mm/hugetlbpage.c > > +++

Re: [PATCH 1/2] arm64: hugetlb: remove the wrong pmd check in find_num_contig()

2016-11-03 Thread Huang Shijie
On Thu, Nov 03, 2016 at 06:16:16PM -0600, Catalin Marinas wrote: > On Thu, Nov 03, 2016 at 10:27:38AM +0800, Huang Shijie wrote: > > diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c > > index 2e49bd2..4811ef1 100644 > > --- a/arch/arm64/mm/hugetlbpage.c > > +++

Re: [PATCH 1/2] arm64: hugetlb: remove the wrong pmd check in find_num_contig()

2016-11-03 Thread Catalin Marinas
On Thu, Nov 03, 2016 at 10:27:38AM +0800, Huang Shijie wrote: > diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c > index 2e49bd2..4811ef1 100644 > --- a/arch/arm64/mm/hugetlbpage.c > +++ b/arch/arm64/mm/hugetlbpage.c > @@ -61,10 +61,6 @@ static int find_num_contig(struct

Re: [PATCH 1/2] arm64: hugetlb: remove the wrong pmd check in find_num_contig()

2016-11-03 Thread Catalin Marinas
On Thu, Nov 03, 2016 at 10:27:38AM +0800, Huang Shijie wrote: > diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c > index 2e49bd2..4811ef1 100644 > --- a/arch/arm64/mm/hugetlbpage.c > +++ b/arch/arm64/mm/hugetlbpage.c > @@ -61,10 +61,6 @@ static int find_num_contig(struct

[PATCH 1/2] arm64: hugetlb: remove the wrong pmd check in find_num_contig()

2016-11-03 Thread Huang Shijie
The find_num_contig() will return 1 when the pmd is not present. It will cause a kernel dead loop in the following scenaro: 1.) pmd entry is not present. 2.) the page fault occurs: ... hugetlb_fault() --> hugetlb_no_page() --> set_huge_pte_at() 3.) set_huge_pte_at() will only

[PATCH 1/2] arm64: hugetlb: remove the wrong pmd check in find_num_contig()

2016-11-03 Thread Huang Shijie
The find_num_contig() will return 1 when the pmd is not present. It will cause a kernel dead loop in the following scenaro: 1.) pmd entry is not present. 2.) the page fault occurs: ... hugetlb_fault() --> hugetlb_no_page() --> set_huge_pte_at() 3.) set_huge_pte_at() will only