2019-08-29 03:53:26

by Alastair D'Silva

[permalink] [raw]
Subject: [PATCH] mm: Remove NULL check in clear_hwpoisoned_pages()

There is no possibility for memmap to be NULL in the current
codebase.

This check was added in commit 95a4774d055c ("memory-hotplug:
update mce_bad_pages when removing the memory")
where memmap was originally inited to NULL, and only conditionally
given a value.

The code that could have passed a NULL has been removed, so there
is no longer a possibility that memmap can be NULL.

Signed-off-by: Alastair D'Silva <[email protected]>
---
mm/sparse.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/mm/sparse.c b/mm/sparse.c
index 78979c142b7d..9f7e3682cdcb 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -754,9 +754,6 @@ static void clear_hwpoisoned_pages(struct page *memmap, int nr_pages)
{
int i;

- if (!memmap)
- return;
-
/*
* A further optimization is to have per section refcounted
* num_poisoned_pages. But that would need more space per memmap, so
--
2.21.0


2019-08-29 07:28:23

by Michal Hocko

[permalink] [raw]
Subject: Re: [PATCH] mm: Remove NULL check in clear_hwpoisoned_pages()

On Thu 29-08-19 13:51:50, Alastair D'Silva wrote:
> There is no possibility for memmap to be NULL in the current
> codebase.
>
> This check was added in commit 95a4774d055c ("memory-hotplug:
> update mce_bad_pages when removing the memory")
> where memmap was originally inited to NULL, and only conditionally
> given a value.
>
> The code that could have passed a NULL has been removed, so there

removed by ba72b4c8cf60 ("mm/sparsemem: support sub-section hotplug")
> is no longer a possibility that memmap can be NULL.

I haven't studied whether section_mem_map could have been NULL before
then but the important part is that NULL is not possible anymore as
pfn_to_page shouldn't ever return NULL.

> Signed-off-by: Alastair D'Silva <[email protected]>

Acked-by: Michal Hocko <[email protected]>

Thanks!

> ---
> mm/sparse.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/mm/sparse.c b/mm/sparse.c
> index 78979c142b7d..9f7e3682cdcb 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -754,9 +754,6 @@ static void clear_hwpoisoned_pages(struct page *memmap, int nr_pages)
> {
> int i;
>
> - if (!memmap)
> - return;
> -
> /*
> * A further optimization is to have per section refcounted
> * num_poisoned_pages. But that would need more space per memmap, so
> --
> 2.21.0

--
Michal Hocko
SUSE Labs

2019-08-30 14:06:22

by David Hildenbrand

[permalink] [raw]
Subject: Re: [PATCH] mm: Remove NULL check in clear_hwpoisoned_pages()

On 29.08.19 05:51, Alastair D'Silva wrote:
> There is no possibility for memmap to be NULL in the current
> codebase.
>
> This check was added in commit 95a4774d055c ("memory-hotplug:
> update mce_bad_pages when removing the memory")
> where memmap was originally inited to NULL, and only conditionally
> given a value.
>
> The code that could have passed a NULL has been removed, so there
> is no longer a possibility that memmap can be NULL.
>
> Signed-off-by: Alastair D'Silva <[email protected]>
> ---
> mm/sparse.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/mm/sparse.c b/mm/sparse.c
> index 78979c142b7d..9f7e3682cdcb 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -754,9 +754,6 @@ static void clear_hwpoisoned_pages(struct page *memmap, int nr_pages)
> {
> int i;
>
> - if (!memmap)
> - return;
> -
> /*
> * A further optimization is to have per section refcounted
> * num_poisoned_pages. But that would need more space per memmap, so
>

Reviewed-by: David Hildenbrand <[email protected]>

--

Thanks,

David / dhildenb