Re: [ANNOUNCE] 3.0.4-rt13

Mike Galbraith
2011-09-11T17:01:27Z

On Sun, 2011-09-11 at 12:35 +0200, Mike Galbraith wrote:
> On Sat, 2011-09-10 at 11:12 +0200, Thomas Gleixner wrote:
> > Dear RT Folks,
> >
> > I'm pleased to announce the 3.0.4-rt13 release.
> >
> > Changes versus 3.0.2-rt11
> >
> > * Migrate disable cure (Mike, Peter)
>
> The warning triggers.

Seems in_atomic() is not pair inclusive. This does not gripe.

---
include/linux/sched.h | 3 ---
kernel/sched.c | 15 ++-------------
2 files changed, 2 insertions(+), 16 deletions(-)

Index: linux-3.0-tip/kernel/sched.c
===================================================================
--- linux-3.0-tip.orig/kernel/sched.c
+++ linux-3.0-tip/kernel/sched.c
@@ -6317,16 +6317,10 @@ void migrate_disable(void)
struct rq *rq;

if (in_atomic()) {
-#ifdef CONFIG_SCHED_DEBUG
- p->migrate_disable_atomic++;
-#endif
+ p->migrate_disable++;
return;
}

-#ifdef CONFIG_SCHED_DEBUG
- WARN_ON_ONCE(p->migrate_disable_atomic);
-#endif
-
preempt_disable();
if (p->migrate_disable) {
p->migrate_disable++;
@@ -6376,15 +6370,10 @@ void migrate_enable(void)
struct rq *rq;

if (in_atomic()) {
-#ifdef CONFIG_SCHED_DEBUG
- p->migrate_disable_atomic--;
-#endif
+ p->migrate_disable--;
return;
}

-#ifdef CONFIG_SCHED_DEBUG
- WARN_ON_ONCE(p->migrate_disable_atomic);
-#endif
WARN_ON_ONCE(p->migrate_disable <= 0);

preempt_disable();
Index: linux-3.0-tip/include/linux/sched.h
===================================================================
--- linux-3.0-tip.orig/include/linux/sched.h
+++ linux-3.0-tip/include/linux/sched.h
@@ -1262,9 +1262,6 @@ struct task_struct {
unsigned int policy;
#ifdef CONFIG_PREEMPT_RT_FULL
int migrate_disable;
-#ifdef CONFIG_SCHED_DEBUG
- int migrate_disable_atomic;
-#endif
#endif
cpumask_t cpus_allowed;