2020-08-18 08:45:50

by Wei Yang

[permalink] [raw]
Subject: [Patch v2] mm/page_reporting: drop stale list head check in page_reporting_cycle

list_for_each_entry_safe() guarantees that we will never stumble over
the list head; "&page->lru != list" will always evaluate to true. Let's
simplify.

Signed-off-by: Wei Yang <[email protected]>
Reviewed-by: David Hildenbrand <[email protected]>
---
mm/page_reporting.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/page_reporting.c b/mm/page_reporting.c
index 3bbd471cfc81..aaaa3605123d 100644
--- a/mm/page_reporting.c
+++ b/mm/page_reporting.c
@@ -178,7 +178,7 @@ page_reporting_cycle(struct page_reporting_dev_info *prdev, struct zone *zone,
* the new head of the free list before we release the
* zone lock.
*/
- if (&page->lru != list && !list_is_first(&page->lru, list))
+ if (!list_is_first(&page->lru, list))
list_rotate_to_front(&page->lru, list);

/* release lock before waiting on report processing */
--
2.20.1 (Apple Git-117)


2020-08-18 09:10:30

by Wei Yang

[permalink] [raw]
Subject: Re: [Patch v2] mm/page_reporting: drop stale list head check in page_reporting_cycle

On Tue, Aug 18, 2020 at 04:44:48PM +0800, Wei Yang wrote:
>list_for_each_entry_safe() guarantees that we will never stumble over
>the list head; "&page->lru != list" will always evaluate to true. Let's
>simplify.

[[email protected]: Changelog refine.]

>
>Signed-off-by: Wei Yang <[email protected]>
>Reviewed-by: David Hildenbrand <[email protected]>
>---
> mm/page_reporting.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/mm/page_reporting.c b/mm/page_reporting.c
>index 3bbd471cfc81..aaaa3605123d 100644
>--- a/mm/page_reporting.c
>+++ b/mm/page_reporting.c
>@@ -178,7 +178,7 @@ page_reporting_cycle(struct page_reporting_dev_info *prdev, struct zone *zone,
> * the new head of the free list before we release the
> * zone lock.
> */
>- if (&page->lru != list && !list_is_first(&page->lru, list))
>+ if (!list_is_first(&page->lru, list))
> list_rotate_to_front(&page->lru, list);
>
> /* release lock before waiting on report processing */
>--
>2.20.1 (Apple Git-117)

--
Wei Yang
Help you, Help me

2020-08-18 14:56:41

by Alexander Duyck

[permalink] [raw]
Subject: Re: [Patch v2] mm/page_reporting: drop stale list head check in page_reporting_cycle

On Tue, Aug 18, 2020 at 1:45 AM Wei Yang
<[email protected]> wrote:
>
> list_for_each_entry_safe() guarantees that we will never stumble over
> the list head; "&page->lru != list" will always evaluate to true. Let's
> simplify.
>
> Signed-off-by: Wei Yang <[email protected]>
> Reviewed-by: David Hildenbrand <[email protected]>
> ---
> mm/page_reporting.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/page_reporting.c b/mm/page_reporting.c
> index 3bbd471cfc81..aaaa3605123d 100644
> --- a/mm/page_reporting.c
> +++ b/mm/page_reporting.c
> @@ -178,7 +178,7 @@ page_reporting_cycle(struct page_reporting_dev_info *prdev, struct zone *zone,
> * the new head of the free list before we release the
> * zone lock.
> */
> - if (&page->lru != list && !list_is_first(&page->lru, list))
> + if (!list_is_first(&page->lru, list))
> list_rotate_to_front(&page->lru, list);
>
> /* release lock before waiting on report processing */

Reviewed-by: Alexander Duyck <[email protected]>