diff mbox series

[v2,01/13] mm/memory-failure: simplify put_ref_page()

Message ID 20240606063247.712575-2-linmiaohe@huawei.com (mailing list archive)
State New
Headers show
Series Some cleanups for memory-failure | expand

Commit Message

Miaohe Lin June 6, 2024, 6:32 a.m. UTC
Remove unneeded page != NULL check. pfn_to_page() won't return NULL.
No functional change intended.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
 mm/memory-failure.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Comments

Kefeng Wang June 6, 2024, 6:46 a.m. UTC | #1
On 2024/6/6 14:32, Miaohe Lin wrote:
> Remove unneeded page != NULL check. pfn_to_page() won't return NULL.
> No functional change intended.
> 
> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
> ---
>   mm/memory-failure.c | 6 +-----
>   1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/mm/memory-failure.c b/mm/memory-failure.c
> index f679b579d45d..2e6038c73119 100644
> --- a/mm/memory-failure.c
> +++ b/mm/memory-failure.c
> @@ -2120,14 +2120,10 @@ static inline unsigned long folio_free_raw_hwp(struct folio *folio, bool flag)
>   /* Drop the extra refcount in case we come from madvise() */
>   static void put_ref_page(unsigned long pfn, int flags)

Since all calllers have a valid page,better to pass the page instead of 
pfn?

>   {
> -	struct page *page;
> -
>   	if (!(flags & MF_COUNT_INCREASED))
>   		return;
>   
> -	page = pfn_to_page(pfn);
> -	if (page)
> -		put_page(page);
> +	put_page(pfn_to_page(pfn));
>   }
>   
>   static int memory_failure_dev_pagemap(unsigned long pfn, int flags,
Miaohe Lin June 7, 2024, 3:28 a.m. UTC | #2
On 2024/6/6 14:46, Kefeng Wang wrote:
> 
> 
> On 2024/6/6 14:32, Miaohe Lin wrote:
>> Remove unneeded page != NULL check. pfn_to_page() won't return NULL.
>> No functional change intended.
>>
>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
>> ---
>>   mm/memory-failure.c | 6 +-----
>>   1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/mm/memory-failure.c b/mm/memory-failure.c
>> index f679b579d45d..2e6038c73119 100644
>> --- a/mm/memory-failure.c
>> +++ b/mm/memory-failure.c
>> @@ -2120,14 +2120,10 @@ static inline unsigned long folio_free_raw_hwp(struct folio *folio, bool flag)
>>   /* Drop the extra refcount in case we come from madvise() */
>>   static void put_ref_page(unsigned long pfn, int flags)
> 
> Since all calllers have a valid page,better to pass the page instead of pfn?

Seems not. put_ref_page() called above memory_failure_dev_pagemap() seems don't have a valid page yet.
Also page might be NULL when calling put_ref_page() in soft_offline_page(). So it should be better to
still pass pfn. Or am I miss something?

Thanks.
.
Kefeng Wang June 7, 2024, 4:38 a.m. UTC | #3
On 2024/6/7 11:28, Miaohe Lin wrote:
> On 2024/6/6 14:46, Kefeng Wang wrote:
>>
>>
>> On 2024/6/6 14:32, Miaohe Lin wrote:
>>> Remove unneeded page != NULL check. pfn_to_page() won't return NULL.
>>> No functional change intended.
>>>
>>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
>>> ---
>>>    mm/memory-failure.c | 6 +-----
>>>    1 file changed, 1 insertion(+), 5 deletions(-)
>>>
>>> diff --git a/mm/memory-failure.c b/mm/memory-failure.c
>>> index f679b579d45d..2e6038c73119 100644
>>> --- a/mm/memory-failure.c
>>> +++ b/mm/memory-failure.c
>>> @@ -2120,14 +2120,10 @@ static inline unsigned long folio_free_raw_hwp(struct folio *folio, bool flag)
>>>    /* Drop the extra refcount in case we come from madvise() */
>>>    static void put_ref_page(unsigned long pfn, int flags)
>>
>> Since all calllers have a valid page,better to pass the page instead of pfn?
> 
> Seems not. put_ref_page() called above memory_failure_dev_pagemap() seems don't have a valid page yet.
> Also page might be NULL when calling put_ref_page() in soft_offline_page(). So it should be better to
> still pass pfn. Or am I miss something?

Yes, missing it, please ignore it
> 
> Thanks.
> .
>
diff mbox series

Patch

diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index f679b579d45d..2e6038c73119 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -2120,14 +2120,10 @@  static inline unsigned long folio_free_raw_hwp(struct folio *folio, bool flag)
 /* Drop the extra refcount in case we come from madvise() */
 static void put_ref_page(unsigned long pfn, int flags)
 {
-	struct page *page;
-
 	if (!(flags & MF_COUNT_INCREASED))
 		return;
 
-	page = pfn_to_page(pfn);
-	if (page)
-		put_page(page);
+	put_page(pfn_to_page(pfn));
 }
 
 static int memory_failure_dev_pagemap(unsigned long pfn, int flags,