linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mm/hugetlb: Remove obsolete comment in vma_has_reserves()
@ 2021-02-04 11:15 Miaohe Lin
  2021-02-04 21:32 ` Mike Kravetz
  0 siblings, 1 reply; 3+ messages in thread
From: Miaohe Lin @ 2021-02-04 11:15 UTC (permalink / raw)
  To: akpm, mike.kravetz; +Cc: linux-mm, linux-kernel, linmiaohe

Shared mappings are allowed to be created without reservations since
commit c37f9fb11c97 ("hugetlb: allow huge page mappings to be created
without reservations"). Remove this obsolete comment which may cause
confusing.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
 mm/hugetlb.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 9501ec6ad517..cf82629319ed 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -998,7 +998,6 @@ static bool vma_has_reserves(struct vm_area_struct *vma, long chg)
 			return false;
 	}
 
-	/* Shared mappings always use reserves */
 	if (vma->vm_flags & VM_MAYSHARE) {
 		/*
 		 * We know VM_NORESERVE is not set.  Therefore, there SHOULD
-- 
2.19.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] mm/hugetlb: Remove obsolete comment in vma_has_reserves()
  2021-02-04 11:15 [PATCH] mm/hugetlb: Remove obsolete comment in vma_has_reserves() Miaohe Lin
@ 2021-02-04 21:32 ` Mike Kravetz
  2021-02-05  3:08   ` Miaohe Lin
  0 siblings, 1 reply; 3+ messages in thread
From: Mike Kravetz @ 2021-02-04 21:32 UTC (permalink / raw)
  To: Miaohe Lin, akpm; +Cc: linux-mm, linux-kernel

On 2/4/21 3:15 AM, Miaohe Lin wrote:
> Shared mappings are allowed to be created without reservations since
> commit c37f9fb11c97 ("hugetlb: allow huge page mappings to be created
> without reservations"). Remove this obsolete comment which may cause
> confusing.
> 
> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
> ---
>  mm/hugetlb.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 9501ec6ad517..cf82629319ed 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -998,7 +998,6 @@ static bool vma_has_reserves(struct vm_area_struct *vma, long chg)
>  			return false;
>  	}
>  
> -	/* Shared mappings always use reserves */

I would not say the comment is entirely obsolete or does not apply here.

As mentioned in the commit message, commit c37f9fb11c97 allowed hugetlb
mappings to be created without reserves.  It does this by supporting the
MAP_NORESERVE flag which corresponds to the VM_NORESERVE vma flag.

Right before this comment, a check is made for VM_NORESERVE and the
routine will return.  Therefore, by the time we get to this comment
we know MAP_NORESERVE does not apply and there are reserves associated
the shared mapping.  In this case the comment is making a distinction
between shared mappings which will always have reserves, and private
mappings which may or may not have reserves depending on ownership.

I would suggest either leaving the comment as is, or modifying to include
the information above.  To me, the three distinct blocks of code handling
the NORESERVE, shared and private cases makes things fairly clear and
the comment does apply in that context.
-- 
Mike Kravetz

>  	if (vma->vm_flags & VM_MAYSHARE) {
>  		/*
>  		 * We know VM_NORESERVE is not set.  Therefore, there SHOULD
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] mm/hugetlb: Remove obsolete comment in vma_has_reserves()
  2021-02-04 21:32 ` Mike Kravetz
@ 2021-02-05  3:08   ` Miaohe Lin
  0 siblings, 0 replies; 3+ messages in thread
From: Miaohe Lin @ 2021-02-05  3:08 UTC (permalink / raw)
  To: Mike Kravetz; +Cc: linux-mm, linux-kernel, Andrew Morton

Hi:
On 2021/2/5 5:32, Mike Kravetz wrote:
> On 2/4/21 3:15 AM, Miaohe Lin wrote:
>> Shared mappings are allowed to be created without reservations since
>> commit c37f9fb11c97 ("hugetlb: allow huge page mappings to be created
>> without reservations"). Remove this obsolete comment which may cause
>> confusing.
>>
>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
>> ---
>>  mm/hugetlb.c | 1 -
>>  1 file changed, 1 deletion(-)
>>
>> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
>> index 9501ec6ad517..cf82629319ed 100644
>> --- a/mm/hugetlb.c
>> +++ b/mm/hugetlb.c
>> @@ -998,7 +998,6 @@ static bool vma_has_reserves(struct vm_area_struct *vma, long chg)
>>  			return false;
>>  	}
>>  
>> -	/* Shared mappings always use reserves */
> 
> I would not say the comment is entirely obsolete or does not apply here.
> 
> As mentioned in the commit message, commit c37f9fb11c97 allowed hugetlb
> mappings to be created without reserves.  It does this by supporting the
> MAP_NORESERVE flag which corresponds to the VM_NORESERVE vma flag.
> 
> Right before this comment, a check is made for VM_NORESERVE and the
> routine will return.  Therefore, by the time we get to this comment
> we know MAP_NORESERVE does not apply and there are reserves associated
> the shared mapping.  In this case the comment is making a distinction
> between shared mappings which will always have reserves, and private
> mappings which may or may not have reserves depending on ownership.
> 

Yes. If I think about it this way, the comment is really making a distinction
between shared mappings and private mappings when not in VM_NORESERVE case.

> I would suggest either leaving the comment as is, or modifying to include

I'd like to leave the comment as is. Many thanks for detailed explanation.

> the information above.  To me, the three distinct blocks of code handling
> the NORESERVE, shared and private cases makes things fairly clear and
> the comment does apply in that context.
> 
Many thanks again. :)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-02-05  3:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-04 11:15 [PATCH] mm/hugetlb: Remove obsolete comment in vma_has_reserves() Miaohe Lin
2021-02-04 21:32 ` Mike Kravetz
2021-02-05  3:08   ` Miaohe Lin

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).