stable-rt.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: stable-rt@vger.kernel.org
Cc: "Luis Claudio R. Goncalves" <lgoncalv@redhat.com>
Subject: v5.10 and less needs a fix up for __build_all_zonelists()
Date: Fri, 3 Nov 2023 12:35:29 +0100	[thread overview]
Message-ID: <20231103113529.3TspAnq-@linutronix.de> (raw)

Hi!

upstream landed commit
	a2ebb51575828 ("mm/page_alloc: use write_seqlock_irqsave() instead write_seqlock() + local_irq_save().")

a while ago after Luis pointed me at the actual issue. The v6.1-RT and
v5.15-RT received the proper backport via -stable and are good.
v5.10-RT has the commit
    7bdd3bd5143a4 ("Revert "mm/page_alloc: fix potential deadlock on zonelist_update_seqseqlock"")

which I may have suggested at the time but requires now something
proper. In reality it may not matter because nobody is using
memory-hotplug but is should be fixed properly. Also it (as in v5.10)
affects non-RT users. In less than v5.10 it affects possible RT users.

The fix for 5.10-RT is just the snippet which is the resolution if the
initial commit would be backported to the v5.10 which did not happen.
Everything less than v5.10 should apply commit a2ebb51575828 mentioned
earlier.

Sebastian

-----8<---

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 3760a06932a6e..f6b3a46ac87d5 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -6043,8 +6043,9 @@ static void __build_all_zonelists(void *data)
 	int nid;
 	int __maybe_unused cpu;
 	pg_data_t *self = data;
+	unsigned long flags;
 
-	write_seqlock(&zonelist_update_seq);
+	write_seqlock_irqsave(&zonelist_update_seq, flags);
 
 #ifdef CONFIG_NUMA
 	memset(node_load, 0, sizeof(node_load));
@@ -6077,7 +6078,7 @@ static void __build_all_zonelists(void *data)
 #endif
 	}
 
-	write_sequnlock(&zonelist_update_seq);
+	write_sequnlock_irqrestore(&zonelist_update_seq, flags);
 }
 
 static noinline void __init

             reply	other threads:[~2023-11-03 11:35 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-03 11:35 Sebastian Andrzej Siewior [this message]
2023-11-03 12:47 ` v5.10 and less needs a fix up for __build_all_zonelists() Luis Claudio R. Goncalves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231103113529.3TspAnq-@linutronix.de \
    --to=bigeasy@linutronix.de \
    --cc=lgoncalv@redhat.com \
    --cc=stable-rt@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).