2023-08-07 12:45:08

by Miaohe Lin

[permalink] [raw]
Subject: [PATCH] mm: memory-failure: use helper macro llist_for_each_entry_safe()

It's more convenient to use helper macro llist_for_each_entry_safe().
No functional change intended.

Signed-off-by: Miaohe Lin <[email protected]>
---
mm/memory-failure.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 6781bb0c5eb2..7b01fffe7a79 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -1869,13 +1869,12 @@ bool is_raw_hwpoison_page_in_hugepage(struct page *page)

static unsigned long __folio_free_raw_hwp(struct folio *folio, bool move_flag)
{
- struct llist_node *t, *tnode, *head;
+ struct llist_node *head;
+ struct raw_hwp_page *p, *next;
unsigned long count = 0;

head = llist_del_all(raw_hwp_list_head(folio));
- llist_for_each_safe(tnode, t, head) {
- struct raw_hwp_page *p = container_of(tnode, struct raw_hwp_page, node);
-
+ llist_for_each_entry_safe(p, next, head, node) {
if (move_flag)
SetPageHWPoison(p->page);
else
@@ -1890,7 +1889,7 @@ static int folio_set_hugetlb_hwpoison(struct folio *folio, struct page *page)
{
struct llist_head *head;
struct raw_hwp_page *raw_hwp;
- struct llist_node *t, *tnode;
+ struct raw_hwp_page *p, *next;
int ret = folio_test_set_hwpoison(folio) ? -EHWPOISON : 0;

/*
@@ -1901,9 +1900,7 @@ static int folio_set_hugetlb_hwpoison(struct folio *folio, struct page *page)
if (folio_test_hugetlb_raw_hwp_unreliable(folio))
return -EHWPOISON;
head = raw_hwp_list_head(folio);
- llist_for_each_safe(tnode, t, head->first) {
- struct raw_hwp_page *p = container_of(tnode, struct raw_hwp_page, node);
-
+ llist_for_each_entry_safe(p, next, head->first, node) {
if (p->page == page)
return -EHWPOISON;
}
--
2.33.0



2023-08-08 02:24:33

by Naoya Horiguchi

[permalink] [raw]
Subject: Re: [PATCH] mm: memory-failure: use helper macro llist_for_each_entry_safe()

On Mon, Aug 07, 2023 at 07:41:25PM +0800, Miaohe Lin wrote:
> It's more convenient to use helper macro llist_for_each_entry_safe().
> No functional change intended.
>
> Signed-off-by: Miaohe Lin <[email protected]>

Thanks, looks good to me.

Acked-by: Naoya Horiguchi <[email protected]>