2019-08-27 05:38:35

by Alastair D'Silva

[permalink] [raw]
Subject: [PATCH 1/2] mm: Don't manually decrement num_poisoned_pages

From: Alastair D'Silva <[email protected]>

Use the function written to do it instead.

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

diff --git a/mm/sparse.c b/mm/sparse.c
index 72f010d9bff5..e41917a7e844 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -11,6 +11,8 @@
#include <linux/export.h>
#include <linux/spinlock.h>
#include <linux/vmalloc.h>
+#include <linux/swap.h>
+#include <linux/swapops.h>

#include "internal.h"
#include <asm/dma.h>
@@ -898,7 +900,7 @@ static void clear_hwpoisoned_pages(struct page *memmap, int nr_pages)

for (i = 0; i < nr_pages; i++) {
if (PageHWPoison(&memmap[i])) {
- atomic_long_sub(1, &num_poisoned_pages);
+ num_poisoned_pages_dec();
ClearPageHWPoison(&memmap[i]);
}
}
--
2.21.0


2019-08-27 06:26:45

by Michal Hocko

[permalink] [raw]
Subject: Re: [PATCH 1/2] mm: Don't manually decrement num_poisoned_pages

On Tue 27-08-19 15:36:54, Alastair D'Silva wrote:
> From: Alastair D'Silva <[email protected]>
>
> Use the function written to do it instead.
>
> Signed-off-by: Alastair D'Silva <[email protected]>

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

> ---
> mm/sparse.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/mm/sparse.c b/mm/sparse.c
> index 72f010d9bff5..e41917a7e844 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -11,6 +11,8 @@
> #include <linux/export.h>
> #include <linux/spinlock.h>
> #include <linux/vmalloc.h>
> +#include <linux/swap.h>
> +#include <linux/swapops.h>
>
> #include "internal.h"
> #include <asm/dma.h>
> @@ -898,7 +900,7 @@ static void clear_hwpoisoned_pages(struct page *memmap, int nr_pages)
>
> for (i = 0; i < nr_pages; i++) {
> if (PageHWPoison(&memmap[i])) {
> - atomic_long_sub(1, &num_poisoned_pages);
> + num_poisoned_pages_dec();
> ClearPageHWPoison(&memmap[i]);
> }
> }
> --
> 2.21.0

--
Michal Hocko
SUSE Labs

2019-08-27 07:08:09

by David Hildenbrand

[permalink] [raw]
Subject: Re: [PATCH 1/2] mm: Don't manually decrement num_poisoned_pages

On 27.08.19 07:36, Alastair D'Silva wrote:
> From: Alastair D'Silva <[email protected]>
>
> Use the function written to do it instead.
>
> Signed-off-by: Alastair D'Silva <[email protected]>
> ---
> mm/sparse.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/mm/sparse.c b/mm/sparse.c
> index 72f010d9bff5..e41917a7e844 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -11,6 +11,8 @@
> #include <linux/export.h>
> #include <linux/spinlock.h>
> #include <linux/vmalloc.h>
> +#include <linux/swap.h>
> +#include <linux/swapops.h>
>
> #include "internal.h"
> #include <asm/dma.h>
> @@ -898,7 +900,7 @@ static void clear_hwpoisoned_pages(struct page *memmap, int nr_pages)
>
> for (i = 0; i < nr_pages; i++) {
> if (PageHWPoison(&memmap[i])) {
> - atomic_long_sub(1, &num_poisoned_pages);
> + num_poisoned_pages_dec();
> ClearPageHWPoison(&memmap[i]);
> }
> }
>

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

--

Thanks,

David / dhildenb

2019-08-27 07:33:33

by Mike Rapoport

[permalink] [raw]
Subject: Re: [PATCH 1/2] mm: Don't manually decrement num_poisoned_pages

On Tue, Aug 27, 2019 at 03:36:54PM +1000, Alastair D'Silva wrote:
> From: Alastair D'Silva <[email protected]>
>
> Use the function written to do it instead.
>
> Signed-off-by: Alastair D'Silva <[email protected]>

Acked-by: Mike Rapoport <[email protected]>

> ---
> mm/sparse.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/mm/sparse.c b/mm/sparse.c
> index 72f010d9bff5..e41917a7e844 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -11,6 +11,8 @@
> #include <linux/export.h>
> #include <linux/spinlock.h>
> #include <linux/vmalloc.h>
> +#include <linux/swap.h>
> +#include <linux/swapops.h>
>
> #include "internal.h"
> #include <asm/dma.h>
> @@ -898,7 +900,7 @@ static void clear_hwpoisoned_pages(struct page *memmap, int nr_pages)
>
> for (i = 0; i < nr_pages; i++) {
> if (PageHWPoison(&memmap[i])) {
> - atomic_long_sub(1, &num_poisoned_pages);
> + num_poisoned_pages_dec();
> ClearPageHWPoison(&memmap[i]);
> }
> }
> --
> 2.21.0
>

--
Sincerely yours,
Mike.

2019-08-28 00:40:38

by Wei Yang

[permalink] [raw]
Subject: Re: [PATCH 1/2] mm: Don't manually decrement num_poisoned_pages

On Tue, Aug 27, 2019 at 03:36:54PM +1000, Alastair D'Silva wrote:
>From: Alastair D'Silva <[email protected]>
>
>Use the function written to do it instead.
>
>Signed-off-by: Alastair D'Silva <[email protected]>

Reviewed-by: Wei Yang <[email protected]>

>---
> mm/sparse.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
>diff --git a/mm/sparse.c b/mm/sparse.c
>index 72f010d9bff5..e41917a7e844 100644
>--- a/mm/sparse.c
>+++ b/mm/sparse.c
>@@ -11,6 +11,8 @@
> #include <linux/export.h>
> #include <linux/spinlock.h>
> #include <linux/vmalloc.h>
>+#include <linux/swap.h>
>+#include <linux/swapops.h>
>
> #include "internal.h"
> #include <asm/dma.h>
>@@ -898,7 +900,7 @@ static void clear_hwpoisoned_pages(struct page *memmap, int nr_pages)
>
> for (i = 0; i < nr_pages; i++) {
> if (PageHWPoison(&memmap[i])) {
>- atomic_long_sub(1, &num_poisoned_pages);
>+ num_poisoned_pages_dec();
> ClearPageHWPoison(&memmap[i]);
> }
> }
>--
>2.21.0

--
Wei Yang
Help you, Help me

2019-08-28 07:34:13

by Oscar Salvador

[permalink] [raw]
Subject: Re: [PATCH 1/2] mm: Don't manually decrement num_poisoned_pages

On Tue, Aug 27, 2019 at 03:36:54PM +1000, Alastair D'Silva wrote:
> From: Alastair D'Silva <[email protected]>
>
> Use the function written to do it instead.
>
> Signed-off-by: Alastair D'Silva <[email protected]>

Reviewed-by: Oscar Salvador <[email protected]>

> ---
> mm/sparse.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/mm/sparse.c b/mm/sparse.c
> index 72f010d9bff5..e41917a7e844 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -11,6 +11,8 @@
> #include <linux/export.h>
> #include <linux/spinlock.h>
> #include <linux/vmalloc.h>
> +#include <linux/swap.h>
> +#include <linux/swapops.h>
>
> #include "internal.h"
> #include <asm/dma.h>
> @@ -898,7 +900,7 @@ static void clear_hwpoisoned_pages(struct page *memmap, int nr_pages)
>
> for (i = 0; i < nr_pages; i++) {
> if (PageHWPoison(&memmap[i])) {
> - atomic_long_sub(1, &num_poisoned_pages);
> + num_poisoned_pages_dec();
> ClearPageHWPoison(&memmap[i]);
> }
> }
> --
> 2.21.0
>

--
Oscar Salvador
SUSE L3