Linux-rt-users archive on lore.kernel.org
 help / color / Atom feed
* [ANNOUNCE] v5.2.21-rt15
@ 2019-12-16 17:34 Sebastian Andrzej Siewior
  2019-12-17  4:45 ` Richard Cochran
  0 siblings, 1 reply; 3+ messages in thread
From: Sebastian Andrzej Siewior @ 2019-12-16 17:34 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: LKML, linux-rt-users, Steven Rostedt

Dear RT folks!

I'm pleased to announce the v5.2.21-rt15 patch set. 

Changes since v5.2.21-rt14:

  - Since the migrate_disable() rework, the kernel did not build on UP
    or without RT enabled. Patch by Daniel Wagner.

  - Since the migrate_disable() rework, with heave changing of the
    task's affinity mask the kernel could issue a warning in
    migrate_enable() and crash later.

Known issues
     - None

The delta patch against v5.2.21-rt14 is appended below and can be found here:
 
     https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.2/incr/patch-5.2.21-rt14-rt15.patch.xz

You can get this release via the git tree at:

    git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git v5.2.21-rt15

The RT patch against v5.2.21 can be found here:

    https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.2/older/patch-5.2.21-rt15.patch.xz

The split quilt queue is available at:

    https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.2/older/patches-5.2.21-rt15.tar.xz

Sebastian

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index ef9621815f37e..ab04f5c48787d 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -7399,7 +7399,7 @@ void migrate_enable(void)
 
 	WARN_ON(smp_processor_id() != cpu);
 	if (!is_cpu_allowed(p, cpu)) {
-		struct migration_arg arg = { p };
+		struct migration_arg arg = { .task = p };
 		struct cpu_stop_work work;
 		struct rq_flags rf;
 
@@ -7411,7 +7411,10 @@ void migrate_enable(void)
 		stop_one_cpu_nowait(task_cpu(p), migration_cpu_stop,
 				    &arg, &work);
 		__schedule(true);
-		WARN_ON_ONCE(!arg.done && !work.disabled);
+		if (!work.disabled) {
+			while (!arg.done)
+				cpu_relax();
+		}
 	}
 
 out:
diff --git a/lib/smp_processor_id.c b/lib/smp_processor_id.c
index 5f2618d346c42..c2f5b0f8cacd0 100644
--- a/lib/smp_processor_id.c
+++ b/lib/smp_processor_id.c
@@ -23,8 +23,10 @@ unsigned int check_preemption_disabled(const char *what1, const char *what2)
 	 * Kernel threads bound to a single CPU can safely use
 	 * smp_processor_id():
 	 */
+#if defined(CONFIG_PREEMPT_RT_BASE) && (defined(CONFIG_SMP) || defined(CONFIG_SCHED_DEBUG))
 	if (current->migrate_disable)
 		goto out;
+#endif
 
 	if (current->nr_cpus_allowed == 1)
 		goto out;
diff --git a/localversion-rt b/localversion-rt
index 08b3e75841adc..18777ec0c27d4 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt14
+-rt15

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ANNOUNCE] v5.2.21-rt15
  2019-12-16 17:34 [ANNOUNCE] v5.2.21-rt15 Sebastian Andrzej Siewior
@ 2019-12-17  4:45 ` Richard Cochran
  2019-12-17  8:14   ` Sebastian Andrzej Siewior
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Cochran @ 2019-12-17  4:45 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior
  Cc: Thomas Gleixner, LKML, linux-rt-users, Steven Rostedt

On Mon, Dec 16, 2019 at 06:34:16PM +0100, Sebastian Andrzej Siewior wrote:
> 
>   - Since the migrate_disable() rework, with heave changing of the
>     task's affinity mask the kernel could issue a warning in
>     migrate_enable() and crash later.

What is "heave changing?"

Just Curious,

Richard

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ANNOUNCE] v5.2.21-rt15
  2019-12-17  4:45 ` Richard Cochran
@ 2019-12-17  8:14   ` Sebastian Andrzej Siewior
  0 siblings, 0 replies; 3+ messages in thread
From: Sebastian Andrzej Siewior @ 2019-12-17  8:14 UTC (permalink / raw)
  To: Richard Cochran; +Cc: Thomas Gleixner, LKML, linux-rt-users, Steven Rostedt

On 2019-12-16 20:45:49 [-0800], Richard Cochran wrote:
> On Mon, Dec 16, 2019 at 06:34:16PM +0100, Sebastian Andrzej Siewior wrote:
> > 
> >   - Since the migrate_disable() rework, with heave changing of the
> >     task's affinity mask the kernel could issue a warning in
> >     migrate_enable() and crash later.
> 
> What is "heave changing?"

Sorry. "heavy changing". You need to change the affinity mask of a task
very often and one requirement is that new affinity mask does not
contain a CPU on which the task is currently running.

> Just Curious,
> 
> Richard

Sebastian

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-16 17:34 [ANNOUNCE] v5.2.21-rt15 Sebastian Andrzej Siewior
2019-12-17  4:45 ` Richard Cochran
2019-12-17  8:14   ` Sebastian Andrzej Siewior

Linux-rt-users archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rt-users/0 linux-rt-users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rt-users linux-rt-users/ https://lore.kernel.org/linux-rt-users \
		linux-rt-users@vger.kernel.org
	public-inbox-index linux-rt-users

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rt-users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git