2019-11-06 07:09:57

by Yunfeng Ye

[permalink] [raw]
Subject: [PATCH] mm/madvise: replace with page_size() in madvise_inject_error()

The function page_size() is supported after the commit a50b854e073c
("mm: introduce page_size()").

Replace with page_size() in madvise_inject_error() for readability.

Signed-off-by: Yunfeng Ye <[email protected]>
---
mm/madvise.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/mm/madvise.c b/mm/madvise.c
index 2be9f3fdb05e..38c4e7fcf850 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -856,13 +856,13 @@ static int madvise_inject_error(int behavior,
{
struct page *page;
struct zone *zone;
- unsigned int order;
+ unsigned int size;

if (!capable(CAP_SYS_ADMIN))
return -EPERM;


- for (; start < end; start += PAGE_SIZE << order) {
+ for (; start < end; start += size) {
unsigned long pfn;
int ret;

@@ -874,9 +874,9 @@ static int madvise_inject_error(int behavior,
/*
* When soft offlining hugepages, after migrating the page
* we dissolve it, therefore in the second loop "page" will
- * no longer be a compound page, and order will be 0.
+ * no longer be a compound page.
*/
- order = compound_order(compound_head(page));
+ size = page_size(compound_head(page));

if (PageHWPoison(page)) {
put_page(page);
--
2.7.4


2019-11-06 21:29:36

by David Rientjes

[permalink] [raw]
Subject: Re: [PATCH] mm/madvise: replace with page_size() in madvise_inject_error()

On Wed, 6 Nov 2019, Yunfeng Ye wrote:

> The function page_size() is supported after the commit a50b854e073c
> ("mm: introduce page_size()").
>
> Replace with page_size() in madvise_inject_error() for readability.
>
> Signed-off-by: Yunfeng Ye <[email protected]>
> ---
> mm/madvise.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/mm/madvise.c b/mm/madvise.c
> index 2be9f3fdb05e..38c4e7fcf850 100644
> --- a/mm/madvise.c
> +++ b/mm/madvise.c
> @@ -856,13 +856,13 @@ static int madvise_inject_error(int behavior,
> {
> struct page *page;
> struct zone *zone;
> - unsigned int order;
> + unsigned int size;

Should be unsinged long.

>
> if (!capable(CAP_SYS_ADMIN))
> return -EPERM;
>
>
> - for (; start < end; start += PAGE_SIZE << order) {
> + for (; start < end; start += size) {
> unsigned long pfn;
> int ret;
>
> @@ -874,9 +874,9 @@ static int madvise_inject_error(int behavior,
> /*
> * When soft offlining hugepages, after migrating the page
> * we dissolve it, therefore in the second loop "page" will
> - * no longer be a compound page, and order will be 0.
> + * no longer be a compound page.
> */
> - order = compound_order(compound_head(page));
> + size = page_size(compound_head(page));
>
> if (PageHWPoison(page)) {
> put_page(page);

2019-11-07 02:08:16

by Yunfeng Ye

[permalink] [raw]
Subject: Re: [PATCH] mm/madvise: replace with page_size() in madvise_inject_error()



On 2019/11/7 5:28, David Rientjes wrote:
> On Wed, 6 Nov 2019, Yunfeng Ye wrote:
>
>> The function page_size() is supported after the commit a50b854e073c
>> ("mm: introduce page_size()").
>>
>> Replace with page_size() in madvise_inject_error() for readability.
>>
>> Signed-off-by: Yunfeng Ye <[email protected]>
>> ---
>> mm/madvise.c | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/mm/madvise.c b/mm/madvise.c
>> index 2be9f3fdb05e..38c4e7fcf850 100644
>> --- a/mm/madvise.c
>> +++ b/mm/madvise.c
>> @@ -856,13 +856,13 @@ static int madvise_inject_error(int behavior,
>> {
>> struct page *page;
>> struct zone *zone;
>> - unsigned int order;
>> + unsigned int size;
>
> Should be unsinged long.
>
ok, thanks. Andrew has already help me modify the patch and add to -mm tree.

>>
>> if (!capable(CAP_SYS_ADMIN))
>> return -EPERM;
>>
>>
>> - for (; start < end; start += PAGE_SIZE << order) {
>> + for (; start < end; start += size) {
>> unsigned long pfn;
>> int ret;
>>
>> @@ -874,9 +874,9 @@ static int madvise_inject_error(int behavior,
>> /*
>> * When soft offlining hugepages, after migrating the page
>> * we dissolve it, therefore in the second loop "page" will
>> - * no longer be a compound page, and order will be 0.
>> + * no longer be a compound page.
>> */
>> - order = compound_order(compound_head(page));
>> + size = page_size(compound_head(page));
>>
>> if (PageHWPoison(page)) {
>> put_page(page);
>
> .
>

2019-11-07 20:49:32

by David Rientjes

[permalink] [raw]
Subject: Re: [PATCH] mm/madvise: replace with page_size() in madvise_inject_error()

On Thu, 7 Nov 2019, Yunfeng Ye wrote:

> >> The function page_size() is supported after the commit a50b854e073c
> >> ("mm: introduce page_size()").
> >>
> >> Replace with page_size() in madvise_inject_error() for readability.
> >>
> >> Signed-off-by: Yunfeng Ye <[email protected]>
> >> ---
> >> mm/madvise.c | 8 ++++----
> >> 1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/mm/madvise.c b/mm/madvise.c
> >> index 2be9f3fdb05e..38c4e7fcf850 100644
> >> --- a/mm/madvise.c
> >> +++ b/mm/madvise.c
> >> @@ -856,13 +856,13 @@ static int madvise_inject_error(int behavior,
> >> {
> >> struct page *page;
> >> struct zone *zone;
> >> - unsigned int order;
> >> + unsigned int size;
> >
> > Should be unsinged long.
> >
> ok, thanks. Andrew has already help me modify the patch and add to -mm tree.
>

Good deal, in that case:

Acked-by: David Rientjes <[email protected]>