* [ANNOUNCE] 3.14.2-rt3
@ 2014-05-03 17:01 Sebastian Andrzej Siewior
2014-05-05 3:26 ` Mike Galbraith
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Sebastian Andrzej Siewior @ 2014-05-03 17:01 UTC (permalink / raw)
To: linux-rt-users; +Cc: LKML, Thomas Gleixner, rostedt, John Kacur
Dear RT folks!
I'm pleased to announce the v3.14.2-rt3 patch set.
Changes since v3.14.2-rt2
- rwsem readers are now not allowed to nest. A patch rom Steven Rostedt.
- a few bugs were fixed in the hotplug code which were made during the
v3.14 port. Fixed by Mike Galbraith.
- Mike Galbraith sent a patch which might fix lazy preempt on x86_64.
Patch applied and my machine still explodes therefore lazy preempt
remains off on x86_64.
- Mike Galbraith sent a few patches to get cpu hoplug to work. This
includes lg_global_trylock_relax().
- A few push downs of migrate_disable() (where we call migrate_disable()
after the rt_mutex_trylock()) have been reverted. It seems hotplug is
not too happy about this. A patch by Steven Rostedt and and Mike
Galbraith
- There was a complaint about a backrace from run_local_timers() in UP
mode because a spin_try_lock() failed. _This_ particular case was not
an error. This optimization was for FULL_NO_HZ which is pointless on
UP because there is no spare CPU. Therefore, this optimization is
disabled in UP mode and the backtrace is gone. Reported by Stanislav
Meduna.
- block-mq notifier uses now a spinlock and runs during CPU_POST_DEAD
instead at CPU_DEAD time. lockdep complained about the sleeping
ctx->lock within the rawlock (blk_mq_cpu_notify_lock) and CPU_DEAD
runs with irqs off.
Known issues:
- bcache is disabled.
- lazy preempt on x86_64 leads to a crash with some load.
- CPU hotplug works in general. Steven's test script however
deadlocks usually on the second invocation.
The delta patch against v3.14.2-rt2 is appended below and can be found
here:
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/incr/patch-3.14.2-rt2-rt3.patch.xz
The RT patch against 3.14.2 can be found here:
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patch-3.14.2-rt3.patch.xz
The split quilt queue is available at:
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patches-3.14.2-rt3.tar.xz
Sebastian
diff --git a/arch/x86/include/asm/preempt.h b/arch/x86/include/asm/preempt.h
index 752fe56..1e649c4 100644
--- a/arch/x86/include/asm/preempt.h
+++ b/arch/x86/include/asm/preempt.h
@@ -94,7 +94,11 @@ static __always_inline bool __preempt_count_dec_and_test(void)
{
if (____preempt_count_dec_and_test())
return true;
+#ifdef CONFIG_PREEMPT_LAZY
return test_thread_flag(TIF_NEED_RESCHED_LAZY);
+#else
+ return false;
+#endif
}
/*
@@ -102,8 +106,12 @@ static __always_inline bool __preempt_count_dec_and_test(void)
*/
static __always_inline bool should_resched(void)
{
+#ifdef CONFIG_PREEMPT_LAZY
return unlikely(!__this_cpu_read_4(__preempt_count) || \
test_thread_flag(TIF_NEED_RESCHED_LAZY));
+#else
+ return unlikely(!__this_cpu_read_4(__preempt_count));
+#endif
}
#ifdef CONFIG_PREEMPT
diff --git a/arch/x86/kernel/asm-offsets.c b/arch/x86/kernel/asm-offsets.c
index 7c8b356..5701b50 100644
--- a/arch/x86/kernel/asm-offsets.c
+++ b/arch/x86/kernel/asm-offsets.c
@@ -72,4 +72,5 @@ void common(void) {
BLANK();
DEFINE(PTREGS_SIZE, sizeof(struct pt_regs));
+ DEFINE(_PREEMPT_ENABLED, PREEMPT_ENABLED);
}
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
index fd2d976..6157ed6 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -365,19 +365,22 @@ ENTRY(resume_kernel)
need_resched:
# preempt count == 0 + NEED_RS set?
cmpl $0,PER_CPU_VAR(__preempt_count)
+#ifndef CONFIG_PREEMPT_LAZY
+ jnz restore_all
+#else
jz test_int_off
# atleast preempt count == 0 ?
- cmpl $_TIF_NEED_RESCHED,PER_CPU_VAR(__preempt_count)
+ cmpl $_PREEMPT_ENABLED,PER_CPU_VAR(__preempt_count)
jne restore_all
cmpl $0,TI_preempt_lazy_count(%ebp) # non-zero preempt_lazy_count ?
jnz restore_all
- testl $_TIF_NEED_RESCHED_LAZY, %ecx
+ testl $_TIF_NEED_RESCHED_LAZY, TI_flags(%ebp)
jz restore_all
-
test_int_off:
+#endif
testl $X86_EFLAGS_IF,PT_EFLAGS(%esp) # interrupts off (exception path) ?
jz restore_all
call preempt_schedule_irq
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index b650b43..d893814 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -658,8 +658,8 @@ GLOBAL(system_call_after_swapgs)
/* Handle reschedules */
/* edx: work, edi: workmask */
sysret_careful:
- bt $TIF_NEED_RESCHED,%edx
- jnc sysret_signal
+ testl $_TIF_NEED_RESCHED_MASK,%edx
+ jz sysret_signal
TRACE_IRQS_ON
ENABLE_INTERRUPTS(CLBR_NONE)
pushq_cfi %rdi
@@ -771,8 +771,8 @@ GLOBAL(int_with_check)
/* First do a reschedule test. */
/* edx: work, edi: workmask */
int_careful:
- bt $TIF_NEED_RESCHED,%edx
- jnc int_very_careful
+ testl $_TIF_NEED_RESCHED_MASK,%edx
+ jz int_very_careful
TRACE_IRQS_ON
ENABLE_INTERRUPTS(CLBR_NONE)
pushq_cfi %rdi
@@ -1071,8 +1071,8 @@ ENTRY(native_iret)
/* edi: workmask, edx: work */
retint_careful:
CFI_RESTORE_STATE
- bt $TIF_NEED_RESCHED,%edx
- jnc retint_signal
+ testl $_TIF_NEED_RESCHED_MASK,%edx
+ jz retint_signal
TRACE_IRQS_ON
ENABLE_INTERRUPTS(CLBR_NONE)
pushq_cfi %rdi
@@ -1104,7 +1104,22 @@ ENTRY(native_iret)
/* rcx: threadinfo. interrupts off. */
ENTRY(retint_kernel)
cmpl $0,PER_CPU_VAR(__preempt_count)
+#ifndef CONFIG_PREEMPT_LAZY
jnz retint_restore_args
+#else
+ jz check_int_off
+
+ # atleast preempt count == 0 ?
+ cmpl $_PREEMPT_ENABLED,PER_CPU_VAR(__preempt_count)
+ jnz retint_restore_args
+
+ cmpl $0, TI_preempt_lazy_count(%rcx)
+ jnz retint_restore_args
+
+ bt $TIF_NEED_RESCHED_LAZY,TI_flags(%rcx)
+ jnc retint_restore_args
+check_int_off:
+#endif
bt $9,EFLAGS-ARGOFFSET(%rsp) /* interrupts off? */
jnc retint_restore_args
call preempt_schedule_irq
@@ -1540,7 +1555,7 @@ ENTRY(paranoid_exit)
movq %rsp,%rdi /* &pt_regs */
call sync_regs
movq %rax,%rsp /* switch stack for scheduling */
- testl $_TIF_NEED_RESCHED,%ebx
+ testl $_TIF_NEED_RESCHED_MASK,%ebx
jnz paranoid_schedule
movl %ebx,%edx /* arg3: thread flags */
TRACE_IRQS_ON
diff --git a/block/blk-mq-cpu.c b/block/blk-mq-cpu.c
index 136ef86..37acc3a 100644
--- a/block/blk-mq-cpu.c
+++ b/block/blk-mq-cpu.c
@@ -11,7 +11,7 @@
#include "blk-mq.h"
static LIST_HEAD(blk_mq_cpu_notify_list);
-static DEFINE_RAW_SPINLOCK(blk_mq_cpu_notify_lock);
+static DEFINE_SPINLOCK(blk_mq_cpu_notify_lock);
static int blk_mq_main_cpu_notify(struct notifier_block *self,
unsigned long action, void *hcpu)
@@ -19,12 +19,15 @@ static int blk_mq_main_cpu_notify(struct notifier_block *self,
unsigned int cpu = (unsigned long) hcpu;
struct blk_mq_cpu_notifier *notify;
- raw_spin_lock(&blk_mq_cpu_notify_lock);
+ if (action != CPU_POST_DEAD && action != CPU_POST_DEAD)
+ return NOTIFY_OK;
+
+ spin_lock(&blk_mq_cpu_notify_lock);
list_for_each_entry(notify, &blk_mq_cpu_notify_list, list)
notify->notify(notify->data, action, cpu);
- raw_spin_unlock(&blk_mq_cpu_notify_lock);
+ spin_unlock(&blk_mq_cpu_notify_lock);
return NOTIFY_OK;
}
@@ -32,16 +35,16 @@ void blk_mq_register_cpu_notifier(struct blk_mq_cpu_notifier *notifier)
{
BUG_ON(!notifier->notify);
- raw_spin_lock(&blk_mq_cpu_notify_lock);
+ spin_lock(&blk_mq_cpu_notify_lock);
list_add_tail(¬ifier->list, &blk_mq_cpu_notify_list);
- raw_spin_unlock(&blk_mq_cpu_notify_lock);
+ spin_unlock(&blk_mq_cpu_notify_lock);
}
void blk_mq_unregister_cpu_notifier(struct blk_mq_cpu_notifier *notifier)
{
- raw_spin_lock(&blk_mq_cpu_notify_lock);
+ spin_lock(&blk_mq_cpu_notify_lock);
list_del(¬ifier->list);
- raw_spin_unlock(&blk_mq_cpu_notify_lock);
+ spin_unlock(&blk_mq_cpu_notify_lock);
}
void blk_mq_init_cpu_notifier(struct blk_mq_cpu_notifier *notifier,
diff --git a/block/blk-mq.c b/block/blk-mq.c
index a5f25f9..5fb26f7 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -48,9 +48,14 @@ static struct blk_mq_ctx *blk_mq_get_ctx(struct request_queue *q)
return __blk_mq_get_ctx(q, get_cpu_light());
}
-static void blk_mq_put_ctx(struct blk_mq_ctx *ctx)
+static void __blk_mq_put_ctx(struct blk_mq_ctx *ctx)
{
spin_unlock(&ctx->cpu_lock);
+}
+
+static void blk_mq_put_ctx(struct blk_mq_ctx *ctx)
+{
+ __blk_mq_put_ctx(ctx);
put_cpu_light();
}
@@ -966,7 +971,7 @@ static void blk_mq_hctx_notify(void *data, unsigned long action,
struct blk_mq_ctx *ctx;
LIST_HEAD(tmp);
- if (action != CPU_DEAD && action != CPU_DEAD_FROZEN)
+ if (action != CPU_POST_DEAD && action != CPU_POST_DEAD)
return;
/*
@@ -980,6 +985,7 @@ static void blk_mq_hctx_notify(void *data, unsigned long action,
clear_bit(ctx->index_hw, hctx->ctx_map);
}
spin_unlock(&ctx->lock);
+ __blk_mq_put_ctx(ctx);
if (list_empty(&tmp))
return;
diff --git a/include/linux/lglock.h b/include/linux/lglock.h
index 2b2204e..534b16e 100644
--- a/include/linux/lglock.h
+++ b/include/linux/lglock.h
@@ -74,4 +74,10 @@ void lg_local_unlock_cpu(struct lglock *lg, int cpu);
void lg_global_lock(struct lglock *lg);
void lg_global_unlock(struct lglock *lg);
+#ifndef CONFIG_PREEMPT_RT_FULL
+#define lg_global_trylock_relax(name) lg_global_lock(name)
+#else
+void lg_global_trylock_relax(struct lglock *lg);
+#endif
+
#endif
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
index 116af6a..5b2cdf4 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -126,8 +126,7 @@ do { \
#define preempt_enable_notrace() \
do { \
barrier(); \
- if (unlikely(__preempt_count_dec_and_test() || \
- test_thread_flag(TIF_NEED_RESCHED_LAZY))) \
+ if (unlikely(__preempt_count_dec_and_test())) \
__preempt_schedule_context(); \
} while (0)
#else
diff --git a/include/linux/rwsem_rt.h b/include/linux/rwsem_rt.h
index 924c2d2..0065b08 100644
--- a/include/linux/rwsem_rt.h
+++ b/include/linux/rwsem_rt.h
@@ -20,7 +20,6 @@
struct rw_semaphore {
struct rt_mutex lock;
- int read_depth;
#ifdef CONFIG_DEBUG_LOCK_ALLOC
struct lockdep_map dep_map;
#endif
diff --git a/include/linux/spinlock_rt.h b/include/linux/spinlock_rt.h
index ac6f08b..c0d1367 100644
--- a/include/linux/spinlock_rt.h
+++ b/include/linux/spinlock_rt.h
@@ -35,6 +35,7 @@ extern int atomic_dec_and_spin_lock(atomic_t *atomic, spinlock_t *lock);
*/
extern void __lockfunc __rt_spin_lock(struct rt_mutex *lock);
extern void __lockfunc __rt_spin_unlock(struct rt_mutex *lock);
+extern int __lockfunc __rt_spin_trylock(struct rt_mutex *lock);
#define spin_lock(lock) \
do { \
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 041fada..ce00329 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -649,7 +649,7 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen)
/* CPU didn't die: tell everyone. Can't complain. */
smpboot_unpark_threads(cpu);
cpu_notify_nofail(CPU_DOWN_FAILED | mod, hcpu);
- goto out_cancel;
+ goto out_release;
}
BUG_ON(cpu_online(cpu));
diff --git a/kernel/locking/lglock.c b/kernel/locking/lglock.c
index f2356df..9397974 100644
--- a/kernel/locking/lglock.c
+++ b/kernel/locking/lglock.c
@@ -105,3 +105,28 @@ void lg_global_unlock(struct lglock *lg)
preempt_enable_nort();
}
EXPORT_SYMBOL(lg_global_unlock);
+
+#ifdef CONFIG_PREEMPT_RT_FULL
+/*
+ * HACK: If you use this, you get to keep the pieces.
+ * Used in queue_stop_cpus_work() when stop machinery
+ * is called from inactive CPU, so we can't schedule.
+ */
+# define lg_do_trylock_relax(l) \
+ do { \
+ while (!__rt_spin_trylock(l)) \
+ cpu_relax(); \
+ } while (0)
+
+void lg_global_trylock_relax(struct lglock *lg)
+{
+ int i;
+
+ lock_acquire_exclusive(&lg->lock_dep_map, 0, 0, NULL, _RET_IP_);
+ for_each_possible_cpu(i) {
+ lg_lock_ptr *lock;
+ lock = per_cpu_ptr(lg->lock, i);
+ lg_do_trylock_relax(lock);
+ }
+}
+#endif
diff --git a/kernel/locking/rt.c b/kernel/locking/rt.c
index 5d17727..055a3df 100644
--- a/kernel/locking/rt.c
+++ b/kernel/locking/rt.c
@@ -180,12 +180,14 @@ EXPORT_SYMBOL(_mutex_unlock);
*/
int __lockfunc rt_write_trylock(rwlock_t *rwlock)
{
- int ret = rt_mutex_trylock(&rwlock->lock);
+ int ret;
- if (ret) {
+ migrate_disable();
+ ret = rt_mutex_trylock(&rwlock->lock);
+ if (ret)
rwlock_acquire(&rwlock->dep_map, 0, 1, _RET_IP_);
- migrate_disable();
- }
+ else
+ migrate_enable();
return ret;
}
@@ -212,11 +214,13 @@ int __lockfunc rt_read_trylock(rwlock_t *rwlock)
* write locked.
*/
if (rt_mutex_owner(lock) != current) {
+ migrate_disable();
ret = rt_mutex_trylock(lock);
- if (ret) {
+ if (ret)
rwlock_acquire(&rwlock->dep_map, 0, 1, _RET_IP_);
- migrate_disable();
- }
+ else
+ migrate_enable();
+
} else if (!rwlock->read_depth) {
ret = 0;
}
@@ -240,13 +244,14 @@ void __lockfunc rt_read_lock(rwlock_t *rwlock)
{
struct rt_mutex *lock = &rwlock->lock;
+
/*
* recursive read locks succeed when current owns the lock
*/
if (rt_mutex_owner(lock) != current) {
- rwlock_acquire(&rwlock->dep_map, 0, 0, _RET_IP_);
- __rt_spin_lock(lock);
migrate_disable();
+ rwlock_acquire_read(&rwlock->dep_map, 0, 0, _RET_IP_);
+ __rt_spin_lock(lock);
}
rwlock->read_depth++;
}
@@ -316,10 +321,8 @@ EXPORT_SYMBOL(rt_up_write);
void rt_up_read(struct rw_semaphore *rwsem)
{
- if (--rwsem->read_depth == 0) {
- rwsem_release(&rwsem->dep_map, 1, _RET_IP_);
- rt_mutex_unlock(&rwsem->lock);
- }
+ rwsem_release(&rwsem->dep_map, 1, _RET_IP_);
+ rt_mutex_unlock(&rwsem->lock);
}
EXPORT_SYMBOL(rt_up_read);
@@ -330,7 +333,6 @@ EXPORT_SYMBOL(rt_up_read);
void rt_downgrade_write(struct rw_semaphore *rwsem)
{
BUG_ON(rt_mutex_owner(&rwsem->lock) != current);
- rwsem->read_depth = 1;
}
EXPORT_SYMBOL(rt_downgrade_write);
@@ -367,37 +369,20 @@ void rt_down_write_nested_lock(struct rw_semaphore *rwsem,
int rt_down_read_trylock(struct rw_semaphore *rwsem)
{
- struct rt_mutex *lock = &rwsem->lock;
- int ret = 1;
-
- /*
- * recursive read locks succeed when current owns the rwsem,
- * but not when read_depth == 0 which means that the rwsem is
- * write locked.
- */
- if (rt_mutex_owner(lock) != current) {
- ret = rt_mutex_trylock(&rwsem->lock);
- if (ret)
- rwsem_acquire(&rwsem->dep_map, 0, 1, _RET_IP_);
- } else if (!rwsem->read_depth) {
- ret = 0;
- }
+ int ret;
+ ret = rt_mutex_trylock(&rwsem->lock);
if (ret)
- rwsem->read_depth++;
+ rwsem_acquire(&rwsem->dep_map, 0, 1, _RET_IP_);
+
return ret;
}
EXPORT_SYMBOL(rt_down_read_trylock);
static void __rt_down_read(struct rw_semaphore *rwsem, int subclass)
{
- struct rt_mutex *lock = &rwsem->lock;
-
- if (rt_mutex_owner(lock) != current) {
- rwsem_acquire(&rwsem->dep_map, subclass, 0, _RET_IP_);
- rt_mutex_lock(&rwsem->lock);
- }
- rwsem->read_depth++;
+ rwsem_acquire(&rwsem->dep_map, subclass, 0, _RET_IP_);
+ rt_mutex_lock(&rwsem->lock);
}
void rt_down_read(struct rw_semaphore *rwsem)
@@ -422,7 +407,6 @@ void __rt_rwsem_init(struct rw_semaphore *rwsem, const char *name,
debug_check_no_locks_freed((void *)rwsem, sizeof(*rwsem));
lockdep_init_map(&rwsem->dep_map, name, key, 0);
#endif
- rwsem->read_depth = 0;
rwsem->lock.save_state = 0;
}
EXPORT_SYMBOL(__rt_rwsem_init);
diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
index 42f4f28..5c5cc76 100644
--- a/kernel/locking/rtmutex.c
+++ b/kernel/locking/rtmutex.c
@@ -1001,6 +1001,11 @@ void __lockfunc rt_spin_unlock_wait(spinlock_t *lock)
}
EXPORT_SYMBOL(rt_spin_unlock_wait);
+int __lockfunc __rt_spin_trylock(struct rt_mutex *lock)
+{
+ return rt_mutex_trylock(lock);
+}
+
int __lockfunc rt_spin_trylock(spinlock_t *lock)
{
int ret = rt_mutex_trylock(&lock->lock);
@@ -1045,12 +1050,12 @@ int atomic_dec_and_spin_lock(atomic_t *atomic, spinlock_t *lock)
/* Subtract 1 from counter unless that drops it to 0 (ie. it was 1) */
if (atomic_add_unless(atomic, -1, 1))
return 0;
+ migrate_disable();
rt_spin_lock(lock);
- if (atomic_dec_and_test(atomic)){
- migrate_disable();
+ if (atomic_dec_and_test(atomic))
return 1;
- }
rt_spin_unlock(lock);
+ migrate_enable();
return 0;
}
EXPORT_SYMBOL(atomic_dec_and_spin_lock);
diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c
index aaae9f1..bcbae9c 100644
--- a/kernel/stop_machine.c
+++ b/kernel/stop_machine.c
@@ -266,7 +266,7 @@ int stop_two_cpus(unsigned int cpu1, unsigned int cpu2, cpu_stop_fn_t fn, void *
struct irq_cpu_stop_queue_work_info call_args;
struct multi_stop_data msdata;
- preempt_disable();
+ preempt_disable_nort();
msdata = (struct multi_stop_data){
.fn = fn,
.data = arg,
@@ -299,7 +299,7 @@ int stop_two_cpus(unsigned int cpu1, unsigned int cpu2, cpu_stop_fn_t fn, void *
* This relies on the stopper workqueues to be FIFO.
*/
if (!cpu_active(cpu1) || !cpu_active(cpu2)) {
- preempt_enable();
+ preempt_enable_nort();
return -ENOENT;
}
@@ -313,7 +313,7 @@ int stop_two_cpus(unsigned int cpu1, unsigned int cpu2, cpu_stop_fn_t fn, void *
&irq_cpu_stop_queue_work,
&call_args, 1);
lg_local_unlock(&stop_cpus_lock);
- preempt_enable();
+ preempt_enable_nort();
wait_for_stop_done(&done);
@@ -346,7 +346,7 @@ static DEFINE_PER_CPU(struct cpu_stop_work, stop_cpus_work);
static void queue_stop_cpus_work(const struct cpumask *cpumask,
cpu_stop_fn_t fn, void *arg,
- struct cpu_stop_done *done)
+ struct cpu_stop_done *done, bool inactive)
{
struct cpu_stop_work *work;
unsigned int cpu;
@@ -360,11 +360,13 @@ static void queue_stop_cpus_work(const struct cpumask *cpumask,
}
/*
- * Disable preemption while queueing to avoid getting
- * preempted by a stopper which might wait for other stoppers
- * to enter @fn which can lead to deadlock.
+ * Make sure that all work is queued on all cpus before
+ * any of the cpus can execute it.
*/
- lg_global_lock(&stop_cpus_lock);
+ if (!inactive)
+ lg_global_lock(&stop_cpus_lock);
+ else
+ lg_global_trylock_relax(&stop_cpus_lock);
for_each_cpu(cpu, cpumask)
cpu_stop_queue_work(cpu, &per_cpu(stop_cpus_work, cpu));
lg_global_unlock(&stop_cpus_lock);
@@ -376,7 +378,7 @@ static int __stop_cpus(const struct cpumask *cpumask,
struct cpu_stop_done done;
cpu_stop_init_done(&done, cpumask_weight(cpumask));
- queue_stop_cpus_work(cpumask, fn, arg, &done);
+ queue_stop_cpus_work(cpumask, fn, arg, &done, false);
wait_for_stop_done(&done);
return done.executed ? done.ret : -ENOENT;
}
@@ -572,6 +574,8 @@ static int __init cpu_stop_init(void)
INIT_LIST_HEAD(&stopper->works);
}
+ lg_lock_init(&stop_cpus_lock, "stop_cpus_lock");
+
BUG_ON(smpboot_register_percpu_thread(&cpu_stop_threads));
stop_machine_initialized = true;
return 0;
@@ -667,11 +671,11 @@ int stop_machine_from_inactive_cpu(int (*fn)(void *), void *data,
set_state(&msdata, MULTI_STOP_PREPARE);
cpu_stop_init_done(&done, num_active_cpus());
queue_stop_cpus_work(cpu_active_mask, multi_cpu_stop, &msdata,
- &done);
+ &done, true);
ret = multi_cpu_stop(&msdata);
/* Busy wait for completion. */
- while (!atomic_read(&done.nr_todo))
+ while (atomic_read(&done.nr_todo))
cpu_relax();
mutex_unlock(&stop_cpus_mutex);
diff --git a/kernel/timer.c b/kernel/timer.c
index 54596b5..8750875 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -1461,6 +1461,19 @@ void run_local_timers(void)
* the timer softirq.
*/
#ifdef CONFIG_PREEMPT_RT_FULL
+
+#ifndef CONFIG_SMP
+ /*
+ * The spin_do_trylock() later may fail as the lock may be hold before
+ * the interrupt arrived. The spin-lock debugging code will raise a
+ * warning if the try_lock fails on UP. Since this is only an
+ * optimization for the FULL_NO_HZ case (not to run the timer softirq on
+ * an nohz_full CPU) we don't really care and shedule the softirq.
+ */
+ raise_softirq(TIMER_SOFTIRQ);
+ return;
+#endif
+
/* On RT, irq work runs from softirq */
if (irq_work_needs_cpu()) {
raise_softirq(TIMER_SOFTIRQ);
diff --git a/localversion-rt b/localversion-rt
index c3054d0..1445cd6 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt2
+-rt3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [ANNOUNCE] 3.14.2-rt3
2014-05-03 17:01 [ANNOUNCE] 3.14.2-rt3 Sebastian Andrzej Siewior
@ 2014-05-05 3:26 ` Mike Galbraith
2014-05-07 7:54 ` [patchlet] locking/rt: fix rt_read_lock() lockdep annotation Mike Galbraith
2014-05-07 16:27 ` [ANNOUNCE] 3.14.2-rt3 Joakim Hernberg
2 siblings, 0 replies; 10+ messages in thread
From: Mike Galbraith @ 2014-05-05 3:26 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: linux-rt-users, LKML, Thomas Gleixner, rostedt, John Kacur
On Sat, 2014-05-03 at 19:01 +0200, Sebastian Andrzej Siewior wrote:
> - Mike Galbraith sent a patch which might fix lazy preempt on x86_64.
> Patch applied and my machine still explodes therefore lazy preempt
> remains off on x86_64.
Can you send me your config offline? I'll try to scrape up some cycles
to take another peek. It seems to work fine on my boxen, so there must
be a config dependent bug somewhere.
> - Mike Galbraith sent a few patches to get cpu hoplug to work. This
> includes lg_global_trylock_relax().
(applies frozen shark repellent.. liberally)
-Mike
^ permalink raw reply [flat|nested] 10+ messages in thread
* [patchlet] locking/rt: fix rt_read_lock() lockdep annotation.
2014-05-03 17:01 [ANNOUNCE] 3.14.2-rt3 Sebastian Andrzej Siewior
2014-05-05 3:26 ` Mike Galbraith
@ 2014-05-07 7:54 ` Mike Galbraith
2014-05-07 13:48 ` Steven Rostedt
2014-05-07 16:27 ` [ANNOUNCE] 3.14.2-rt3 Joakim Hernberg
2 siblings, 1 reply; 10+ messages in thread
From: Mike Galbraith @ 2014-05-07 7:54 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: linux-rt-users, Thomas Gleixner, rostedt, John Kacur
rt-rw-lockdep-annotations.patch missed an rwlock_acquire_read()
Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
---
kernel/locking/rt.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--- a/kernel/locking/rt.c
+++ b/kernel/locking/rt.c
@@ -244,13 +244,12 @@ void __lockfunc rt_read_lock(rwlock_t *r
{
struct rt_mutex *lock = &rwlock->lock;
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patchlet] locking/rt: fix rt_read_lock() lockdep annotation.
2014-05-07 7:54 ` [patchlet] locking/rt: fix rt_read_lock() lockdep annotation Mike Galbraith
@ 2014-05-07 13:48 ` Steven Rostedt
2014-05-07 14:01 ` Mike Galbraith
0 siblings, 1 reply; 10+ messages in thread
From: Steven Rostedt @ 2014-05-07 13:48 UTC (permalink / raw)
To: Mike Galbraith
Cc: Sebastian Andrzej Siewior, linux-rt-users, Thomas Gleixner,
John Kacur
On Wed, 07 May 2014 09:54:07 +0200
Mike Galbraith <umgwanakikbuti@gmail.com> wrote:
>
> rt-rw-lockdep-annotations.patch missed an rwlock_acquire_read()
>
> Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
> ---
> kernel/locking/rt.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> --- a/kernel/locking/rt.c
> +++ b/kernel/locking/rt.c
> @@ -244,13 +244,12 @@ void __lockfunc rt_read_lock(rwlock_t *r
> {
> struct rt_mutex *lock = &rwlock->lock;
>
> -
> /*
> * recursive read locks succeed when current owns the lock
> */
> if (rt_mutex_owner(lock) != current) {
> migrate_disable();
> - rwlock_acquire_read(&rwlock->dep_map, 0, 0, _RET_IP_);
> + rwlock_acquire(&rwlock->dep_map, 0, 0, _RET_IP_);
> __rt_spin_lock(lock);
This looks like it reverse applies?
-- Steve
> }
> rwlock->read_depth++;
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patchlet] locking/rt: fix rt_read_lock() lockdep annotation.
2014-05-07 13:48 ` Steven Rostedt
@ 2014-05-07 14:01 ` Mike Galbraith
2014-05-07 14:20 ` Mike Galbraith
0 siblings, 1 reply; 10+ messages in thread
From: Mike Galbraith @ 2014-05-07 14:01 UTC (permalink / raw)
To: Steven Rostedt
Cc: Sebastian Andrzej Siewior, linux-rt-users, Thomas Gleixner,
John Kacur
On Wed, 2014-05-07 at 09:48 -0400, Steven Rostedt wrote:
> On Wed, 07 May 2014 09:54:07 +0200
> Mike Galbraith <umgwanakikbuti@gmail.com> wrote:
>
> >
> > rt-rw-lockdep-annotations.patch missed an rwlock_acquire_read()
> >
> > Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
> > ---
> > kernel/locking/rt.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > --- a/kernel/locking/rt.c
> > +++ b/kernel/locking/rt.c
> > @@ -244,13 +244,12 @@ void __lockfunc rt_read_lock(rwlock_t *r
> > {
> > struct rt_mutex *lock = &rwlock->lock;
> >
> > -
> > /*
> > * recursive read locks succeed when current owns the lock
> > */
> > if (rt_mutex_owner(lock) != current) {
> > migrate_disable();
> > - rwlock_acquire_read(&rwlock->dep_map, 0, 0, _RET_IP_);
> > + rwlock_acquire(&rwlock->dep_map, 0, 0, _RET_IP_);
> > __rt_spin_lock(lock);
>
> This looks like it reverse applies?
Nope, I thought Thomas's whacked the one he did on purpose.
-Mike
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patchlet] locking/rt: fix rt_read_lock() lockdep annotation.
2014-05-07 14:01 ` Mike Galbraith
@ 2014-05-07 14:20 ` Mike Galbraith
2014-05-09 13:27 ` Sebastian Andrzej Siewior
0 siblings, 1 reply; 10+ messages in thread
From: Mike Galbraith @ 2014-05-07 14:20 UTC (permalink / raw)
To: Steven Rostedt
Cc: Sebastian Andrzej Siewior, linux-rt-users, Thomas Gleixner,
John Kacur
On Wed, 2014-05-07 at 16:01 +0200, Mike Galbraith wrote:
> On Wed, 2014-05-07 at 09:48 -0400, Steven Rostedt wrote:
> > On Wed, 07 May 2014 09:54:07 +0200
> > Mike Galbraith <umgwanakikbuti@gmail.com> wrote:
> >
> > >
> > > rt-rw-lockdep-annotations.patch missed an rwlock_acquire_read()
> > >
> > > Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
> > > ---
> > > kernel/locking/rt.c | 3 +--
> > > 1 file changed, 1 insertion(+), 2 deletions(-)
> > >
> > > --- a/kernel/locking/rt.c
> > > +++ b/kernel/locking/rt.c
> > > @@ -244,13 +244,12 @@ void __lockfunc rt_read_lock(rwlock_t *r
> > > {
> > > struct rt_mutex *lock = &rwlock->lock;
> > >
> > > -
> > > /*
> > > * recursive read locks succeed when current owns the lock
> > > */
> > > if (rt_mutex_owner(lock) != current) {
> > > migrate_disable();
> > > - rwlock_acquire_read(&rwlock->dep_map, 0, 0, _RET_IP_);
> > > + rwlock_acquire(&rwlock->dep_map, 0, 0, _RET_IP_);
> > > __rt_spin_lock(lock);
> >
> > This looks like it reverse applies?
>
>
> Nope, I thought Thomas's whacked the one he did on purpose.
I should learn to speak lockdep. How about this instead?
locking/rt: fix rt_read_trylock() lockdep annotation.
rt-rw-lockdep-annotations.patch dropped a rwlock_acquire_read
Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
---
kernel/locking/rt.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--- a/kernel/locking/rt.c
+++ b/kernel/locking/rt.c
@@ -217,7 +217,7 @@ int __lockfunc rt_read_trylock(rwlock_t
migrate_disable();
ret = rt_mutex_trylock(lock);
if (ret)
- rwlock_acquire(&rwlock->dep_map, 0, 1, _RET_IP_);
+ rwlock_acquire_read(&rwlock->dep_map, 0, 1, _RET_IP_);
else
migrate_enable();
@@ -244,7 +244,6 @@ void __lockfunc rt_read_lock(rwlock_t *r
{
struct rt_mutex *lock = &rwlock->lock;
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [ANNOUNCE] 3.14.2-rt3
2014-05-03 17:01 [ANNOUNCE] 3.14.2-rt3 Sebastian Andrzej Siewior
2014-05-05 3:26 ` Mike Galbraith
2014-05-07 7:54 ` [patchlet] locking/rt: fix rt_read_lock() lockdep annotation Mike Galbraith
@ 2014-05-07 16:27 ` Joakim Hernberg
2 siblings, 0 replies; 10+ messages in thread
From: Joakim Hernberg @ 2014-05-07 16:27 UTC (permalink / raw)
To: Sebastian Andrzej Siewior; +Cc: Peter Zijlstra
[-- Attachment #1: Type: text/plain, Size: 40997 bytes --]
On Sat, 3 May 2014 19:01:11 +0200
Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote:
> I'm pleased to announce the v3.14.2-rt3 patch set.
Hello,
My machine had a hicup :) Don't know if the sr0 stuff belongs to it,
but this is what I found in the buffer afterwards.
Kernel config attached:
[89649.850386] sr 4:0:0:0: [sr0] Device not ready
[89649.850394] sr 4:0:0:0: [sr0]
[89649.850397] Result: hostbyte=0x00 driverbyte=0x08
[89649.850401] sr 4:0:0:0: [sr0]
[89649.850404] Sense Key : 0x2 [current]
[89649.850410] sr 4:0:0:0: [sr0]
[89649.850412] ASC=0x3a ASCQ=0x1
[89649.850416] sr 4:0:0:0: [sr0] CDB:
[89649.850418] cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00
[89649.850432] end_request: I/O error, dev sr0, sector 0
[89649.850438] Buffer I/O error on device sr0, logical block 0
[89649.850442] Buffer I/O error on device sr0, logical block 1
[89649.850446] Buffer I/O error on device sr0, logical block 2
[89649.850449] Buffer I/O error on device sr0, logical block 3
[89649.850453] Buffer I/O error on device sr0, logical block 4
[89649.850456] Buffer I/O error on device sr0, logical block 5
[89649.850460] Buffer I/O error on device sr0, logical block 6
[89649.850464] Buffer I/O error on device sr0, logical block 7
[89649.850482] Buffer I/O error on device sr0, logical block 8
[89649.850486] Buffer I/O error on device sr0, logical block 9
[89649.850505] sr 4:0:0:0: [sr0] unaligned transfer
[89649.850534] sr 4:0:0:0: [sr0] unaligned transfer
[89649.850557] sr 4:0:0:0: [sr0] unaligned transfer
[89649.850570] sr 4:0:0:0: [sr0] unaligned transfer
[89649.850583] sr 4:0:0:0: [sr0] unaligned transfer
[89649.850602] sr 4:0:0:0: [sr0] unaligned transfer
[89649.850611] sr 4:0:0:0: [sr0] unaligned transfer
[89649.850618] sr 4:0:0:0: [sr0] unaligned transfer
[89649.895322] sr 4:0:0:0: [sr0] Device not ready
[89649.895329] sr 4:0:0:0: [sr0]
[89649.895654] Result: hostbyte=0x00 driverbyte=0x08
[89649.895659] sr 4:0:0:0: [sr0]
[89649.895662] Sense Key : 0x2 [current]
[89649.895667] sr 4:0:0:0: [sr0]
[89649.895670] ASC=0x3a ASCQ=0x1
[89649.895675] sr 4:0:0:0: [sr0] CDB:
[89649.895678] cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00
[89649.895688] end_request: I/O error, dev sr0, sector 0
[89649.895735] sr 4:0:0:0: [sr0] unaligned transfer
[89649.895779] sr 4:0:0:0: [sr0] unaligned transfer
[89649.895806] sr 4:0:0:0: [sr0] unaligned transfer
[89649.895832] sr 4:0:0:0: [sr0] unaligned transfer
[89649.895865] sr 4:0:0:0: [sr0] unaligned transfer
[89649.895886] sr 4:0:0:0: [sr0] unaligned transfer
[89649.895901] sr 4:0:0:0: [sr0] unaligned transfer
[89649.895916] sr 4:0:0:0: [sr0] unaligned transfer
[89724.648852] INFO: rcu_preempt self-detected stall on CPU { 1} (t=60000 jiffies g=12214731 c=12214730 q=0)
[89724.648853] sending NMI to all CPUs:
[89724.648856] NMI backtrace for cpu 2
[89724.648859] CPU: 2 PID: 50 Comm: ksoftirqd/2 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89724.648859] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89724.648861] task: ffff8803fd470000 ti: ffff8803fd478000 task.ti: ffff8803fd478000
[89724.648865] RIP: 0010:[<ffffffff810aaf05>] [<ffffffff810aaf05>] update_blocked_averages+0x95/0x6a0
[89724.648866] RSP: 0018:ffff8803fd479cd0 EFLAGS: 00000006
[89724.648867] RAX: 0000000000000002 RBX: ffff8803fb7cca00 RCX: ffff88040f405000
[89724.648868] RDX: ffffffff81c8d240 RSI: ffff88040f9659c0 RDI: ffff8803fb7cca00
[89724.648868] RBP: ffff8803fd479d30 R08: 0000000000000002 R09: ffff8803fd55cc00
[89724.648869] R10: 0000000000000001 R11: 0000000000000001 R12: ffff8803fb7cfe00
[89724.648870] R13: 000000000000b40e R14: ffff88040f965940 R15: ffff88040f9659c0
[89724.648871] FS: 0000000000000000(0000) GS:ffff88040f900000(0000) knlGS:0000000000000000
[89724.648871] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89724.648872] CR2: 00007f50cc3ad000 CR3: 000000038f630000 CR4: 00000000000407e0
[89724.648873] Stack:
[89724.648875] 0000000000000306 0000000000001fde ffff88040f9659c0 0000000000000246
[89724.648876] ffff88040f9661d0 ffff88040f965a80 00000000904bfafe 0000000000000002
[89724.648878] 0000000105556270 0000000000000007 ffff88040f965940 000000000420a140
[89724.648878] Call Trace:
[89724.648882] [<ffffffff810b25dc>] rebalance_domains+0x4c/0x2c0
[89724.648884] [<ffffffff810b288f>] run_rebalance_domains+0x3f/0x190
[89724.648886] [<ffffffff810a7f5e>] ? __vtime_account_system+0x2e/0x40
[89724.648889] [<ffffffff81070926>] do_current_softirqs+0x1f6/0x3f0
[89724.648891] [<ffffffff81070d8d>] run_ksoftirqd+0x2d/0x50
[89724.648893] [<ffffffff8109971d>] smpboot_thread_fn+0x15d/0x2a0
[89724.648896] [<ffffffff815157ba>] ? schedule+0x2a/0x90
[89724.648898] [<ffffffff810995c0>] ? SyS_setgroups+0x150/0x150
[89724.648900] [<ffffffff8109168c>] kthread+0xdc/0x100
[89724.648901] [<ffffffff810915b0>] ? flush_kthread_worker+0xe0/0xe0
[89724.648904] [<ffffffff81520cbc>] ret_from_fork+0x7c/0xb0
[89724.648906] [<ffffffff810915b0>] ? flush_kthread_worker+0xe0/0xe0
[89724.648918] Code: c7 4c 8d b8 40 ff ff ff 0f 84 f8 01 00 00 0f 1f 84 00 00 00 00 00 49 8b 97 d0 00 00 00 49 63 86 38 09 00 00 48 8b 8a 80 00 00 00 <48> 8b 92 88 00 00 00 48 8b 1c c1 4c 8b 24 c2 66 66 66 66 90 be
[89724.648919] NMI backtrace for cpu 5
[89724.648921] CPU: 5 PID: 71 Comm: ksoftirqd/5 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89724.648921] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89724.648922] task: ffff8803fd5899f0 ti: ffff8803fd592000 task.ti: ffff8803fd592000
[89724.648925] RIP: 0010:[<ffffffff81070da8>] [<ffffffff81070da8>] run_ksoftirqd+0x48/0x50
[89724.648926] RSP: 0000:ffff8803fd593e68 EFLAGS: 00000296
[89724.648927] RAX: ffff8803fd5899f0 RBX: 0000000000000005 RCX: ffffffff81a503c0
[89724.648928] RDX: 000000000000ed00 RSI: 0000000000000000 RDI: 0000000000000046
[89724.648928] RBP: ffff8803fd593e70 R08: 0000000000000000 R09: ffff88040fae5940
[89724.648929] R10: 0000000000000807 R11: 0000000000000020 R12: ffff88040f401960
[89724.648930] R13: ffffffff81a3d700 R14: ffff8803fd5899f0 R15: ffff8803fd5899f0
[89724.648931] FS: 0000000000000000(0000) GS:ffff88040fa80000(0000) knlGS:0000000000000000
[89724.648931] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89724.648932] CR2: 00007f1652eb4000 CR3: 00000003fc072000 CR4: 00000000000407e0
[89724.648933] Stack:
[89724.648934] ffff8803fd5899f0 ffff8803fd593ec0 ffffffff8109971d 0000000000000000
[89724.648936] ffffffff815157ba 0000000000000001 ffff8803fdb553c0 ffff88040f401960
[89724.648937] ffffffff810995c0 0000000000000000 0000000000000000 ffff8803fd593f48
[89724.648938] Call Trace:
[89724.648940] [<ffffffff8109971d>] smpboot_thread_fn+0x15d/0x2a0
[89724.648942] [<ffffffff815157ba>] ? schedule+0x2a/0x90
[89724.648944] [<ffffffff810995c0>] ? SyS_setgroups+0x150/0x150
[89724.648945] [<ffffffff8109168c>] kthread+0xdc/0x100
[89724.648947] [<ffffffff810915b0>] ? flush_kthread_worker+0xe0/0xe0
[89724.648949] [<ffffffff81520cbc>] ret_from_fork+0x7c/0xb0
[89724.648950] [<ffffffff810915b0>] ? flush_kthread_worker+0xe0/0xe0
[89724.648963] Code: 80 e8 19 00 00 01 bf 01 00 00 00 e8 a3 f9 ff ff 65 48 8b 04 25 40 c8 00 00 83 a8 e8 19 00 00 01 89 df e8 4c 78 06 00 fb 66 66 90 <66> 66 90 5b 5d c3 66 90 66 66 66 66 90 55 48 89 e5 41 57 41 56
[89724.648964] NMI backtrace for cpu 7
[89724.648966] CPU: 7 PID: 0 Comm: swapper/7 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89724.648966] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89724.648968] task: ffff8803fdb799f0 ti: ffff8803fdb80000 task.ti: ffff8803fdb80000
[89724.648971] RIP: 0010:[<ffffffff81314de9>] [<ffffffff81314de9>] intel_idle+0xe9/0x180
[89724.648972] RSP: 0018:ffff8803fdb81e28 EFLAGS: 00000046
[89724.648973] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 0000000000000001
[89724.648973] RDX: 0000000000000000 RSI: ffff8803fdb81fd8 RDI: 0000000000000007
[89724.648974] RBP: ffff8803fdb81e58 R08: 0000000000593616 R09: 0000000034d860f9
[89724.648975] R10: 000116aba098c9bd R11: 0000000000000293 R12: 0000000000000001
[89724.648975] R13: 0000000000000001 R14: 0000000000000002 R15: ffff8803fdb81fd8
[89724.648976] FS: 0000000000000000(0000) GS:ffff88040fb80000(0000) knlGS:0000000000000000
[89724.648977] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89724.648978] CR2: 00000000ed60a000 CR3: 000000038f630000 CR4: 00000000000407e0
[89724.648978] Stack:
[89724.648980] 00000007fdb81e58 32a7a8fb32a7a8da ffff88040fbecd00 ffffffff81a8ba40
[89724.648982] 000051a7f69eebbd 0000000000000002 ffff8803fdb81e88 ffffffff813e03ca
[89724.648983] 0000000000000002 ffff88040fbecd00 0000000000000000 ffffffff81a8ba40
[89724.648983] Call Trace:
[89724.648987] [<ffffffff813e03ca>] cpuidle_enter_state+0x3a/0xc0
[89724.648989] [<ffffffff813e0507>] cpuidle_idle_call+0xb7/0x250
[89724.648991] [<ffffffff8102142e>] arch_cpu_idle+0xe/0x30
[89724.648994] [<ffffffff810cdf79>] cpu_startup_entry+0x259/0x2e0
[89724.648997] [<ffffffff81047572>] start_secondary+0x212/0x2d0
[89724.649010] Code: 00 00 48 89 d1 48 8d 86 38 e0 ff ff 0f 01 c8 65 48 8b 04 25 30 c8 00 00 48 8b 80 38 e0 ff ff a8 08 75 08 b1 01 4c 89 e0 0f 01 c9 <65> 48 8b 04 25 30 c8 00 00 83 a0 3c e0 ff ff fb 0f ae f0 65 48
[89724.649011] NMI backtrace for cpu 6
[89724.649012] CPU: 6 PID: 1015 Comm: ksysguard Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89724.649012] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89724.649013] task: ffff8803d3728000 ti: ffff8803d3726000 task.ti: ffff8803d3726000
[89724.649029] RIP: 0033:[<00007f50caf4d74e>] [<00007f50caf4d74e>] 0x7f50caf4d74e
[89724.649029] RSP: 002b:00007ffff8927c10 EFLAGS: 00000202
[89724.649030] RAX: 0000000000000000 RBX: 00000000025f88c0 RCX: 0000000000000002
[89724.649030] RDX: 0000000000000000 RSI: 00000000028a3638 RDI: 00000000025f88c0
[89724.649031] RBP: 0000000002607fb0 R08: 0000000000000002 R09: 0000000000000052
[89724.649031] R10: 00000000000002a7 R11: 000000000263fde0 R12: 0000000000000000
[89724.649031] R13: 000000000263c390 R14: 0000000000000008 R15: 0000000002503080
[89724.649032] FS: 00007f50cc393780(0000) GS:ffff88040fb00000(0000) knlGS:0000000000000000
[89724.649033] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89724.649033] CR2: 00000000ed60a000 CR3: 00000003d365f000 CR4: 00000000000407e0
[89724.649034] NMI backtrace for cpu 3
[89724.649035] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89724.649035] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89724.649036] task: ffff8803fdb699f0 ti: ffff8803fdb70000 task.ti: ffff8803fdb70000
[89724.649038] RIP: 0010:[<ffffffff81314de9>] [<ffffffff81314de9>] intel_idle+0xe9/0x180
[89724.649038] RSP: 0018:ffff8803fdb71e28 EFLAGS: 00000046
[89724.649039] RAX: 0000000000000000 RBX: 0000000000000002 RCX: 0000000000000001
[89724.649039] RDX: 0000000000000000 RSI: ffff8803fdb71fd8 RDI: 0000000000000003
[89724.649040] RBP: ffff8803fdb71e58 R08: 0000000000258b7a R09: 0000000034d860f9
[89724.649041] R10: 000116aba0ccd674 R11: 0000000000000000 R12: 0000000000000000
[89724.649041] R13: 0000000000000001 R14: 0000000000000001 R15: ffff8803fdb71fd8
[89724.649042] FS: 0000000000000000(0000) GS:ffff88040f980000(0000) knlGS:0000000000000000
[89724.649043] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89724.649044] CR2: 00007fa8ea61d000 CR3: 000000026b955000 CR4: 00000000000407e0
[89724.649044] Stack:
[89724.649046] 00000003fdb71e58 24a3ff0124a3fee0 ffff88040f9ecd00 ffffffff81a8ba40
[89724.649047] 000051a7f69f087f 0000000000000001 ffff8803fdb71e88 ffffffff813e03ca
[89724.649047] 0000000000000001 ffff88040f9ecd00 0000000000000000 ffffffff81a8ba40
[89724.649048] Call Trace:
[89724.649049] [<ffffffff813e03ca>] cpuidle_enter_state+0x3a/0xc0
[89724.649050] [<ffffffff813e0507>] cpuidle_idle_call+0xb7/0x250
[89724.649051] [<ffffffff8102142e>] arch_cpu_idle+0xe/0x30
[89724.649053] [<ffffffff810cdf79>] cpu_startup_entry+0x259/0x2e0
[89724.649054] [<ffffffff81047572>] start_secondary+0x212/0x2d0
[89724.649061] Code: 00 00 48 89 d1 48 8d 86 38 e0 ff ff 0f 01 c8 65 48 8b 04 25 30 c8 00 00 48 8b 80 38 e0 ff ff a8 08 75 08 b1 01 4c 89 e0 0f 01 c9 <65> 48 8b 04 25 30 c8 00 00 83 a0 3c e0 ff ff fb 0f ae f0 65 48
[89724.649062] NMI backtrace for cpu 1
[89724.649063] CPU: 1 PID: 28438 Comm: Ableton Live 9 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89724.649064] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89724.649065] task: ffff880116290000 ti: ffff88026033e000 task.ti: ffff88026033e000
[89724.649069] RIP: 0010:[<ffffffff812aa610>] [<ffffffff812aa610>] __const_udelay+0x0/0x30
[89724.649070] RSP: 0000:ffff88040f883da8 EFLAGS: 00200046
[89724.649071] RAX: 0000000000000000 RBX: 0000000000002710 RCX: 0000000000000002
[89724.649071] RDX: 0000000000000c00 RSI: 0000000000000080 RDI: 0000000000418958
[89724.649072] RBP: ffff88040f883db8 R08: 0000000000000002 R09: 0000000000000028
[89724.649073] R10: 0000000000000003 R11: 000000000001de30 R12: ffffffff81a51440
[89724.649073] R13: ffffffff81ad07f0 R14: ffffffff81a51440 R15: 0000000000000001
[89724.649075] FS: 0000000080b60000(0063) GS:ffff88040f880000(006b) knlGS:000000000b03fb40
[89724.649075] CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
[89724.649076] CR2: 00007f50ae7ee000 CR3: 000000032517e000 CR4: 00000000000407e0
[89724.649077] Stack:
[89724.649078] ffffffff8104b315 ffff88040f88ed00 ffff88040f883e10 ffffffff810d9f4e
[89724.649080] 0000000000000001 ffff88040f883de0 ffffffff8107118e 0000000000000000
[89724.649081] ffff880116290000 0000000000000001 0000000000000001 ffff88040f88e7c0
[89724.649082] Call Trace:
[89724.649083] <IRQ>
[89724.649085] [<ffffffff8104b315>] ? arch_trigger_all_cpu_backtrace+0x75/0x90
[89724.649088] [<ffffffff810d9f4e>] rcu_check_callbacks+0x50e/0x790
[89724.649090] [<ffffffff8107118e>] ? raise_softirq_irqoff+0xe/0x40
[89724.649092] [<ffffffff8107b042>] update_process_times+0x42/0x70
[89724.649095] [<ffffffff810e5bb5>] tick_sched_handle.isra.16+0x25/0x60
[89724.649097] [<ffffffff810e5c34>] tick_sched_timer+0x44/0x70
[89724.649099] [<ffffffff81094a91>] __run_hrtimer+0x81/0x270
[89724.649100] [<ffffffff810e5bf0>] ? tick_sched_handle.isra.16+0x60/0x60
[89724.649102] [<ffffffff81095f3c>] hrtimer_interrupt+0x38c/0x3f0
[89724.649105] [<ffffffff810495aa>] local_apic_timer_interrupt+0x3a/0x60
[89724.649107] [<ffffffff81522daf>] smp_apic_timer_interrupt+0x3f/0x50
[89724.649109] [<ffffffff815218dd>] apic_timer_interrupt+0x6d/0x80
[89724.649110] <EOI>
[89724.649123] Code: 48 ff c8 5d c3 66 0f 1f 44 00 00 66 66 66 66 90 55 48 89 e5 ff 15 69 da 7d 00 5d c3 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 <55> 48 8d 04 bd 00 00 00 00 65 48 8b 14 25 60 50 06 00 48 69 d2
[89724.649123] NMI backtrace for cpu 4
[89724.649125] CPU: 4 PID: 0 Comm: swapper/4 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89724.649126] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89724.649127] task: ffff8803fdb6b3e0 ti: ffff8803fdb72000 task.ti: ffff8803fdb72000
[89724.649129] RIP: 0010:[<ffffffff81314de9>] [<ffffffff81314de9>] intel_idle+0xe9/0x180
[89724.649130] RSP: 0018:ffff8803fdb73e28 EFLAGS: 00000046
[89724.649131] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 0000000000000001
[89724.649131] RDX: 0000000000000000 RSI: ffff8803fdb73fd8 RDI: 0000000000000004
[89724.649132] RBP: ffff8803fdb73e58 R08: 0000000000580210 R09: 0000000034d860f9
[89724.649133] R10: 000116aba098c9bd R11: 0000000000000293 R12: 0000000000000001
[89724.649133] R13: 0000000000000001 R14: 0000000000000002 R15: ffff8803fdb73fd8
[89724.649134] FS: 0000000000000000(0000) GS:ffff88040fa00000(0000) knlGS:0000000000000000
[89724.649135] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89724.649136] CR2: 00001c2f75b3c000 CR3: 000000038f630000 CR4: 00000000000407e0
[89724.649136] Stack:
[89724.649138] 00000004fdb73e58 2828648928286468 ffff88040fa6cd00 ffffffff81a8ba40
[89724.649140] 000051a7f69e9170 0000000000000002 ffff8803fdb73e88 ffffffff813e03ca
[89724.649141] 0000000000000002 ffff88040fa6cd00 0000000000000000 ffffffff81a8ba40
[89724.649141] Call Trace:
[89724.649144] [<ffffffff813e03ca>] cpuidle_enter_state+0x3a/0xc0
[89724.649146] [<ffffffff813e0507>] cpuidle_idle_call+0xb7/0x250
[89724.649148] [<ffffffff8102142e>] arch_cpu_idle+0xe/0x30
[89724.649150] [<ffffffff810cdf79>] cpu_startup_entry+0x259/0x2e0
[89724.649152] [<ffffffff81047572>] start_secondary+0x212/0x2d0
[89724.649165] Code: 00 00 48 89 d1 48 8d 86 38 e0 ff ff 0f 01 c8 65 48 8b 04 25 30 c8 00 00 48 8b 80 38 e0 ff ff a8 08 75 08 b1 01 4c 89 e0 0f 01 c9 <65> 48 8b 04 25 30 c8 00 00 83 a0 3c e0 ff ff fb 0f ae f0 65 48
[89724.649165] NMI backtrace for cpu 0
[89724.649167] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89724.649167] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89724.649168] task: ffffffff81a16500 ti: ffffffff81a00000 task.ti: ffffffff81a00000
[89724.649171] RIP: 0010:[<ffffffff81314de9>] [<ffffffff81314de9>] intel_idle+0xe9/0x180
[89724.649171] RSP: 0018:ffffffff81a01e28 EFLAGS: 00000046
[89724.649172] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 0000000000000001
[89724.649173] RDX: 0000000000000000 RSI: ffffffff81a01fd8 RDI: 0000000000000000
[89724.649173] RBP: ffffffff81a01e58 R08: 0000000000256e34 R09: 0000000034d860f9
[89724.649174] R10: 000116aba0ccd674 R11: 0000000000000293 R12: 0000000000000001
[89724.649175] R13: 0000000000000001 R14: 0000000000000002 R15: ffffffff81a01fd8
[89724.649175] FS: 0000000000000000(0000) GS:ffff88040f800000(0000) knlGS:0000000000000000
[89724.649176] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89724.649176] CR2: 00007f50cc3ad000 CR3: 000000038f630000 CR4: 00000000000407f0
[89724.649177] Stack:
[89724.649178] 0000000081a01e58 181d9c45181d9c24 ffff88040f86cd00 ffffffff81a8ba40
[89724.649179] 000051a7f69effeb 0000000000000002 ffffffff81a01e88 ffffffff813e03ca
[89724.649179] 0000000000000002 ffff88040f86cd00 0000000000000000 ffffffff81a8ba40
[89724.649180] Call Trace:
[89724.649181] [<ffffffff813e03ca>] cpuidle_enter_state+0x3a/0xc0
[89724.649182] [<ffffffff813e0507>] cpuidle_idle_call+0xb7/0x250
[89724.649184] [<ffffffff8102142e>] arch_cpu_idle+0xe/0x30
[89724.649185] [<ffffffff810cdf79>] cpu_startup_entry+0x259/0x2e0
[89724.649187] [<ffffffff81508664>] rest_init+0x84/0x90
[89724.649189] [<ffffffff81b41ea2>] start_kernel+0x444/0x465
[89724.649190] [<ffffffff81b41120>] ? early_idt_handlers+0x120/0x120
[89724.649191] [<ffffffff81b414d7>] x86_64_start_reservations+0x2a/0x2c
[89724.649192] [<ffffffff81b41626>] x86_64_start_kernel+0x14d/0x170
[89724.649199] Code: 00 00 48 89 d1 48 8d 86 38 e0 ff ff 0f 01 c8 65 48 8b 04 25 30 c8 00 00 48 8b 80 38 e0 ff ff a8 08 75 08 b1 01 4c 89 e0 0f 01 c9 <65> 48 8b 04 25 30 c8 00 00 83 a0 3c e0 ff ff fb 0f ae f0 65 48
[89904.537490] INFO: rcu_preempt self-detected stall on CPU { 1} (t=240004 jiffies g=12214731 c=12214730 q=0)
[89904.537491] sending NMI to all CPUs:
[89904.537496] NMI backtrace for cpu 0
[89904.537499] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89904.537500] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89904.537502] task: ffffffff81a16500 ti: ffffffff81a00000 task.ti: ffffffff81a00000
[89904.537508] RIP: 0010:[<ffffffff810a7931>] [<ffffffff810a7931>] sched_clock_idle_sleep_event+0x1/0x20
[89904.537509] RSP: 0018:ffffffff81a01e98 EFLAGS: 00000002
[89904.537510] RAX: 000051d1dfb228c7 RBX: ffff88040f80f5c0 RCX: 0000000000000018
[89904.537511] RDX: 000000006dda18c7 RSI: 0000000000015f68 RDI: 00000ae1befa96e0
[89904.537512] RBP: ffffffff81a01ec8 R08: 0000000000251e96 R09: 0000000034d860f9
[89904.537513] R10: 0001173a973d35e7 R11: 0000000000000293 R12: 0000000000000000
[89904.537514] R13: 000051d1dfb228c7 R14: ffffffff81bdd2c0 R15: ffffffff81a01fd8
[89904.537516] FS: 0000000000000000(0000) GS:ffff88040f800000(0000) knlGS:0000000000000000
[89904.537517] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89904.537518] CR2: 00007f50cc3ad000 CR3: 000000038f630000 CR4: 00000000000407f0
[89904.537519] Stack:
[89904.537522] ffffffff81a01ec8 ffffffff810e59fa 0000000000000002 ffffffff81ad07e0
[89904.537525] ffffffff81a01fd8 ffffffff81bdd2c0 ffffffff81a01ed8 ffffffff810e5b50
[89904.537527] ffffffff81a01f28 ffffffff810cddb5 ffffffff81a01fd8 ffffffff81a01fd8
[89904.537528] Call Trace:
[89904.537533] [<ffffffff810e59fa>] ? __tick_nohz_idle_enter+0x3a/0x150
[89904.537536] [<ffffffff810e5b50>] tick_nohz_idle_enter+0x40/0x80
[89904.537539] [<ffffffff810cddb5>] cpu_startup_entry+0x95/0x2e0
[89904.537543] [<ffffffff81508664>] rest_init+0x84/0x90
[89904.537547] [<ffffffff81b41ea2>] start_kernel+0x444/0x465
[89904.537549] [<ffffffff81b41120>] ? early_idt_handlers+0x120/0x120
[89904.537552] [<ffffffff81b414d7>] x86_64_start_reservations+0x2a/0x2c
[89904.537554] [<ffffffff81b41626>] x86_64_start_kernel+0x14d/0x170
[89904.537573] Code: 48 89 d0 41 5c 5d c3 0f 1f 00 e8 cb 7f f7 ff 5b 41 5c 5d c3 66 0f 1f 44 00 00 e8 fb 8f f7 ff 48 89 d0 eb eb 31 c0 eb e7 66 90 55 <65> 8b 3c 25 34 b0 00 00 48 89 e5 e8 1f ff ff ff 5d c3 66 66 66
[89904.537575] NMI backtrace for cpu 2
[89904.537578] CPU: 2 PID: 1008 Comm: konsole Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89904.537579] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89904.537580] task: ffff8803f64d33e0 ti: ffff8803d34f6000 task.ti: ffff8803d34f6000
[89904.537600] RIP: 0033:[<00007f50ca3429be>] [<00007f50ca3429be>] 0x7f50ca3429be
[89904.537601] RSP: 002b:00007ffff8926430 EFLAGS: 00000246
[89904.537602] RAX: 0000000000000004 RBX: 0000000000ff00ff RCX: 00000000ffc3c3c3
[89904.537603] RDX: 00000000000000ff RSI: 00007f50af21c0d4 RDI: 00000000ffffffff
[89904.537604] RBP: 0000000000000eac R08: 000000000287d448 R09: 0000000000ff0000
[89904.537605] R10: 00000000c23dc23d R11: 0000000000ff00ff R12: 0000000000000006
[89904.537606] R13: 0000000000000003 R14: 00000000000000ff R15: 0000000000000008
[89904.537608] FS: 00007f50cc393780(0000) GS:ffff88040f900000(0000) knlGS:0000000000000000
[89904.537609] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89904.537610] CR2: 00007f1652eb4000 CR3: 00000003e1dfd000 CR4: 00000000000407e0
[89904.537612] NMI backtrace for cpu 1
[89904.537614] CPU: 1 PID: 28438 Comm: Ableton Live 9 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89904.537615] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89904.537616] task: ffff880116290000 ti: ffff88026033e000 task.ti: ffff88026033e000
[89904.537622] RIP: 0010:[<ffffffff812aa622>] [<ffffffff812aa622>] __const_udelay+0x12/0x30
[89904.537623] RSP: 0000:ffff88040f883da0 EFLAGS: 00200046
[89904.537624] RAX: 0000000001062560 RBX: 0000000000002710 RCX: 0000000000000002
[89904.537625] RDX: 0000000000340c34 RSI: 0000000000000080 RDI: 0000000000418958
[89904.537626] RBP: ffff88040f883db8 R08: 0000000000000002 R09: 0000000000000028
[89904.537627] R10: 0000000000000003 R11: 0000000000021fcc R12: ffffffff81a51440
[89904.537628] R13: ffffffff81ad07f0 R14: ffffffff81a51440 R15: 0000000000000001
[89904.537630] FS: 0000000080b60000(0063) GS:ffff88040f880000(006b) knlGS:000000000b03fb40
[89904.537631] CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
[89904.537633] CR2: 00007f50ae7ee000 CR3: 000000032517e000 CR4: 00000000000407e0
[89904.537633] Stack:
[89904.537636] ffff88040f883db8 ffffffff8104b315 ffff88040f88ed00 ffff88040f883e10
[89904.537638] ffffffff810d9f4e 0000000000000001 ffff88040f883de0 ffffffff8107118e
[89904.537641] 0000000000000000 ffff880116290000 0000000000000001 0000000000000001
[89904.537641] Call Trace:
[89904.537643] <IRQ>
[89904.537646] [<ffffffff8104b315>] ? arch_trigger_all_cpu_backtrace+0x75/0x90
[89904.537650] [<ffffffff810d9f4e>] rcu_check_callbacks+0x50e/0x790
[89904.537654] [<ffffffff8107118e>] ? raise_softirq_irqoff+0xe/0x40
[89904.537657] [<ffffffff8107b042>] update_process_times+0x42/0x70
[89904.537660] [<ffffffff810e5bb5>] tick_sched_handle.isra.16+0x25/0x60
[89904.537662] [<ffffffff810e5c34>] tick_sched_timer+0x44/0x70
[89904.537665] [<ffffffff81094a91>] __run_hrtimer+0x81/0x270
[89904.537668] [<ffffffff810e5bf0>] ? tick_sched_handle.isra.16+0x60/0x60
[89904.537670] [<ffffffff81095f3c>] hrtimer_interrupt+0x38c/0x3f0
[89904.537675] [<ffffffff810495aa>] local_apic_timer_interrupt+0x3a/0x60
[89904.537678] [<ffffffff81522daf>] smp_apic_timer_interrupt+0x3f/0x50
[89904.537682] [<ffffffff815218dd>] apic_timer_interrupt+0x6d/0x80
[89904.537684] <EOI>
[89904.537702] Code: 89 e5 ff 15 69 da 7d 00 5d c3 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 55 48 8d 04 bd 00 00 00 00 65 48 8b 14 25 60 50 06 00 <48> 69 d2 fa 00 00 00 48 89 e5 f7 e2 48 8d 7a 01 e8 b9 ff ff ff
[89904.537703] NMI backtrace for cpu 7
[89904.537706] CPU: 7 PID: 0 Comm: swapper/7 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89904.537707] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89904.537708] task: ffff8803fdb799f0 ti: ffff8803fdb80000 task.ti: ffff8803fdb80000
[89904.537713] RIP: 0010:[<ffffffff81314de9>] [<ffffffff81314de9>] intel_idle+0xe9/0x180
[89904.537714] RSP: 0018:ffff8803fdb81e28 EFLAGS: 00000046
[89904.537715] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 0000000000000001
[89904.537716] RDX: 0000000000000000 RSI: ffff8803fdb81fd8 RDI: 0000000000000007
[89904.537717] RBP: ffff8803fdb81e58 R08: 000000000058909e R09: 0000000034d860f9
[89904.537719] R10: 0001173a97092930 R11: 0000000000000293 R12: 0000000000000001
[89904.537720] R13: 0000000000000001 R14: 0000000000000002 R15: ffff8803fdb81fd8
[89904.537721] FS: 0000000000000000(0000) GS:ffff88040fb80000(0000) knlGS:0000000000000000
[89904.537723] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89904.537724] CR2: 00007fa8ea61d000 CR3: 000000038f630000 CR4: 00000000000407e0
[89904.537724] Stack:
[89904.537728] 00000007fdb81e58 32a7a8fb32a7a8da ffff88040fbecd00 ffffffff81a8ba40
[89904.537730] 000051d1dfb1fb6f 0000000000000002 ffff8803fdb81e88 ffffffff813e03ca
[89904.537732] 0000000000000002 ffff88040fbecd00 0000000000000000 ffffffff81a8ba40
[89904.537733] Call Trace:
[89904.537738] [<ffffffff813e03ca>] cpuidle_enter_state+0x3a/0xc0
[89904.537740] [<ffffffff813e0507>] cpuidle_idle_call+0xb7/0x250
[89904.537744] [<ffffffff8102142e>] arch_cpu_idle+0xe/0x30
[89904.537747] [<ffffffff810cdf79>] cpu_startup_entry+0x259/0x2e0
[89904.537750] [<ffffffff81047572>] start_secondary+0x212/0x2d0
[89904.537770] Code: 00 00 48 89 d1 48 8d 86 38 e0 ff ff 0f 01 c8 65 48 8b 04 25 30 c8 00 00 48 8b 80 38 e0 ff ff a8 08 75 08 b1 01 4c 89 e0 0f 01 c9 <65> 48 8b 04 25 30 c8 00 00 83 a0 3c e0 ff ff fb 0f ae f0 65 48
[89904.537771] NMI backtrace for cpu 4
[89904.537773] CPU: 4 PID: 1015 Comm: ksysguard Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89904.537774] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89904.537775] task: ffff8803d3728000 ti: ffff8803d3726000 task.ti: ffff8803d3726000
[89904.537784] RIP: 0033:[<00007f50ca2c03dd>] [<00007f50ca2c03dd>] 0x7f50ca2c03dd
[89904.537784] RSP: 002b:00007ffff892b380 EFLAGS: 00000202
[89904.537785] RAX: 0000000000000040 RBX: 00007ffff892b530 RCX: 00007ffff892b570
[89904.537786] RDX: 00007ffff892b530 RSI: 00007ffff892b550 RDI: 00007ffff892b530
[89904.537786] RBP: 00000000028f8d60 R08: 00000000ffad17f8 R09: 000000000271bbe0
[89904.537787] R10: 0000000000000000 R11: 000000000000012c R12: 00007ffff892b550
[89904.537788] R13: 00007ffff892b570 R14: 00007ffff892b960 R15: 0000000000000017
[89904.537789] FS: 00007f50cc393780(0000) GS:ffff88040fa00000(0000) knlGS:0000000000000000
[89904.537789] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89904.537790] CR2: 00000000ed60a000 CR3: 00000003d365f000 CR4: 00000000000407e0
[89904.537792] NMI backtrace for cpu 6
[89904.537794] CPU: 6 PID: 0 Comm: swapper/6 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89904.537795] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89904.537796] task: ffff8803fdb78000 ti: ffff8803fdb76000 task.ti: ffff8803fdb76000
[89904.537801] RIP: 0010:[<ffffffff81314de9>] [<ffffffff81314de9>] intel_idle+0xe9/0x180
[89904.537802] RSP: 0018:ffff8803fdb77e28 EFLAGS: 00000046
[89904.537803] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 0000000000000001
[89904.537804] RDX: 0000000000000000 RSI: ffff8803fdb77fd8 RDI: 0000000000000006
[89904.537805] RBP: ffff8803fdb77e58 R08: 000000000056e0c8 R09: 0000000034d860f9
[89904.537806] R10: 0001173a97092930 R11: 0000000000000293 R12: 0000000000000001
[89904.537807] R13: 0000000000000001 R14: 0000000000000002 R15: ffff8803fdb77fd8
[89904.537809] FS: 0000000000000000(0000) GS:ffff88040fb00000(0000) knlGS:0000000000000000
[89904.537810] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89904.537811] CR2: 00007f50cc3ad000 CR3: 000000038f630000 CR4: 00000000000407e0
[89904.537812] Stack:
[89904.537815] 00000006fdb77e58 2f29da8b2f29da6a ffff88040fb6cd00 ffffffff81a8ba40
[89904.537817] 000051d1dfb17cd6 0000000000000002 ffff8803fdb77e88 ffffffff813e03ca
[89904.537820] 0000000000000002 ffff88040fb6cd00 0000000000000000 ffffffff81a8ba40
[89904.537820] Call Trace:
[89904.537824] [<ffffffff813e03ca>] cpuidle_enter_state+0x3a/0xc0
[89904.537827] [<ffffffff813e0507>] cpuidle_idle_call+0xb7/0x250
[89904.537830] [<ffffffff8102142e>] arch_cpu_idle+0xe/0x30
[89904.537833] [<ffffffff810cdf79>] cpu_startup_entry+0x259/0x2e0
[89904.537836] [<ffffffff81047572>] start_secondary+0x212/0x2d0
[89904.537854] Code: 00 00 48 89 d1 48 8d 86 38 e0 ff ff 0f 01 c8 65 48 8b 04 25 30 c8 00 00 48 8b 80 38 e0 ff ff a8 08 75 08 b1 01 4c 89 e0 0f 01 c9 <65> 48 8b 04 25 30 c8 00 00 83 a0 3c e0 ff ff fb 0f ae f0 65 48
[89904.537855] NMI backtrace for cpu 3
[89904.537857] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89904.537858] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89904.537858] task: ffff8803fdb699f0 ti: ffff8803fdb70000 task.ti: ffff8803fdb70000
[89904.537861] RIP: 0010:[<ffffffff81314de9>] [<ffffffff81314de9>] intel_idle+0xe9/0x180
[89904.537862] RSP: 0018:ffff8803fdb71e28 EFLAGS: 00000046
[89904.537862] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 0000000000000001
[89904.537863] RDX: 0000000000000000 RSI: ffff8803fdb71fd8 RDI: 0000000000000003
[89904.537864] RBP: ffff8803fdb71e58 R08: 000000000057466b R09: 0000000034d860f9
[89904.537864] R10: 0001173a97092930 R11: 0000000000000293 R12: 0000000000000001
[89904.537865] R13: 0000000000000001 R14: 0000000000000002 R15: ffff8803fdb71fd8
[89904.537866] FS: 0000000000000000(0000) GS:ffff88040f980000(0000) knlGS:0000000000000000
[89904.537867] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89904.537867] CR2: 000008fe86073000 CR3: 000000038f630000 CR4: 00000000000407e0
[89904.537868] Stack:
[89904.537869] 00000003fdb71e58 24a3ff0124a3fee0 ffff88040f9ecd00 ffffffff81a8ba40
[89904.537871] 000051d1dfb19aa2 0000000000000002 ffff8803fdb71e88 ffffffff813e03ca
[89904.537872] 0000000000000002 ffff88040f9ecd00 0000000000000000 ffffffff81a8ba40
[89904.537873] Call Trace:
[89904.537875] [<ffffffff813e03ca>] cpuidle_enter_state+0x3a/0xc0
[89904.537878] [<ffffffff813e0507>] cpuidle_idle_call+0xb7/0x250
[89904.537881] [<ffffffff8102142e>] arch_cpu_idle+0xe/0x30
[89904.537883] [<ffffffff810cdf79>] cpu_startup_entry+0x259/0x2e0
[89904.537885] [<ffffffff81047572>] start_secondary+0x212/0x2d0
[89904.537896] Code: 00 00 48 89 d1 48 8d 86 38 e0 ff ff 0f 01 c8 65 48 8b 04 25 30 c8 00 00 48 8b 80 38 e0 ff ff a8 08 75 08 b1 01 4c 89 e0 0f 01 c9 <65> 48 8b 04 25 30 c8 00 00 83 a0 3c e0 ff ff fb 0f ae f0 65 48
[89904.537897] NMI backtrace for cpu 5
[89904.537899] CPU: 5 PID: 28534 Comm: chromium Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89904.537900] Hardware name: System manufacturer System Product Name/P8Z68-V PRO GEN3, BIOS 3603 11/09/2012
[89904.537902] task: ffff880023984dd0 ti: ffff880071208000 task.ti: ffff880071208000
[89904.537909] RIP: 0033:[<00007f05dafb25fe>] [<00007f05dafb25fe>] 0x7f05dafb25fe
[89904.537910] RSP: 002b:00007fff08efaa90 EFLAGS: 00000202
[89904.537911] RAX: 0000000000000001 RBX: 00000d73f2566f41 RCX: 0000000000000018
[89904.537912] RDX: 0000000000008a02 RSI: 0000026c78b04611 RDI: 00000d73f2500000
[89904.537913] RBP: 00007fff08efaaf0 R08: 00007f05c7e96a00 R09: 00007fff08efabb0
[89904.537914] R10: 00000d73f2500000 R11: 00000d73f2566f41 R12: 00007f05c7e6b000
[89904.537915] R13: 00002bbffdb0eb01 R14: 00007fff08efae88 R15: 0000000000000000
[89904.537916] FS: 00007f05d9495940(0000) GS:ffff88040fa80000(0000) knlGS:0000000000000000
[89904.537918] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[89904.537919] CR2: 000027f5e1189000 CR3: 000000004a5cb000 CR4: 00000000000407e0
[89929.940648] sr 4:0:0:0: [sr0] Device not ready
[89929.940651] sr 4:0:0:0: [sr0]
[89929.940653] Result: hostbyte=0x00 driverbyte=0x08
[89929.940654] sr 4:0:0:0: [sr0]
[89929.940655] Sense Key : 0x2 [current]
[89929.940657] sr 4:0:0:0: [sr0]
[89929.940658] ASC=0x3a ASCQ=0x1
[89929.940660] sr 4:0:0:0: [sr0] CDB:
[89929.940661] cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00
[89929.940666] end_request: I/O error, dev sr0, sector 0
[89929.940669] quiet_error: 54 callbacks suppressed
[89929.940669] Buffer I/O error on device sr0, logical block 0
[89929.940672] Buffer I/O error on device sr0, logical block 1
[89929.940673] Buffer I/O error on device sr0, logical block 2
[89929.940675] Buffer I/O error on device sr0, logical block 3
[89929.940676] Buffer I/O error on device sr0, logical block 4
[89929.940677] Buffer I/O error on device sr0, logical block 5
[89929.940679] Buffer I/O error on device sr0, logical block 6
[89929.940680] Buffer I/O error on device sr0, logical block 7
[89929.940683] Buffer I/O error on device sr0, logical block 8
[89929.940684] Buffer I/O error on device sr0, logical block 9
[89929.940697] sr 4:0:0:0: [sr0] unaligned transfer
[89929.940712] sr 4:0:0:0: [sr0] unaligned transfer
[89929.940720] sr 4:0:0:0: [sr0] unaligned transfer
[89929.940724] sr 4:0:0:0: [sr0] unaligned transfer
[89929.940737] sr 4:0:0:0: [sr0] unaligned transfer
[89929.940743] sr 4:0:0:0: [sr0] unaligned transfer
[89929.940749] sr 4:0:0:0: [sr0] unaligned transfer
[89929.940757] sr 4:0:0:0: [sr0] unaligned transfer
[89929.987630] sr 4:0:0:0: [sr0] Device not ready
[89929.987637] sr 4:0:0:0: [sr0]
[89929.987640] Result: hostbyte=0x00 driverbyte=0x08
[89929.987645] sr 4:0:0:0: [sr0]
[89929.987648] Sense Key : 0x2 [current]
[89929.987653] sr 4:0:0:0: [sr0]
[89929.987654] ASC=0x3a ASCQ=0x1
[89929.987657] sr 4:0:0:0: [sr0] CDB:
[89929.987658] cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00
[89929.987667] end_request: I/O error, dev sr0, sector 0
[89929.987711] sr 4:0:0:0: [sr0] unaligned transfer
[89929.987754] sr 4:0:0:0: [sr0] unaligned transfer
[89929.987768] sr 4:0:0:0: [sr0] unaligned transfer
[89929.987781] sr 4:0:0:0: [sr0] unaligned transfer
[89929.987805] sr 4:0:0:0: [sr0] unaligned transfer
[89929.987817] sr 4:0:0:0: [sr0] unaligned transfer
[89929.987828] sr 4:0:0:0: [sr0] unaligned transfer
[89929.987839] sr 4:0:0:0: [sr0] unaligned transfer
[89930.032855] sr 4:0:0:0: [sr0] Device not ready
[89930.032859] sr 4:0:0:0: [sr0]
[89930.032861] Result: hostbyte=0x00 driverbyte=0x08
[89930.032862] sr 4:0:0:0: [sr0]
[89930.032864] Sense Key : 0x2 [current]
[89930.032867] sr 4:0:0:0: [sr0]
[89930.032868] ASC=0x3a ASCQ=0x1
[89930.032870] sr 4:0:0:0: [sr0] CDB:
[89930.032871] cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00
[89930.032879] end_request: I/O error, dev sr0, sector 0
[89930.032934] sr 4:0:0:0: [sr0] unaligned transfer
[89930.032947] sr 4:0:0:0: [sr0] unaligned transfer
[89930.032966] sr 4:0:0:0: [sr0] unaligned transfer
[89930.032974] sr 4:0:0:0: [sr0] unaligned transfer
[89930.032983] sr 4:0:0:0: [sr0] unaligned transfer
[89930.032993] sr 4:0:0:0: [sr0] unaligned transfer
[89930.033000] sr 4:0:0:0: [sr0] unaligned transfer
[89930.033016] sr 4:0:0:0: [sr0] unaligned transfer
[89943.406650] INFO: task nacl_helper:28497 blocked for more than 120 seconds.
[89943.406654] Tainted: G W 3.14.2-rt3-1-rt-314 #1
[89943.406655] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[89943.406656] nacl_helper D ffff88001a3b4dd0 0 28497 28493 0x00000002
[89943.406660] ffff88015bcfbb38 0000000000000002 0000000000065940 ffff88015bcfbfd8
[89943.406661] 0000000000065940 ffff8803fdb699f0 ffff880374383c00 ffff8803b0260530
[89943.406662] ffff88015bcfbb78 ffffffff81515339 0000000000065940 ffff88015bcfbfd8
[89943.406664] Call Trace:
[89943.406670] [<ffffffff81515339>] ? __schedule+0x3b9/0x810
[89943.406674] [<ffffffff811560f0>] ? free_hot_cold_page+0x1d0/0x2f0
[89943.406675] [<ffffffff815157ba>] schedule+0x2a/0x90
[89943.406677] [<ffffffff81514949>] schedule_timeout+0x209/0x2b0
[89943.406680] [<ffffffff812033cd>] ? fsnotify_clear_marks_by_inode+0xbd/0x160
[89943.406682] [<ffffffff815162ef>] wait_for_common+0xff/0x170
[89943.406685] [<ffffffff810d77a0>] ? call_rcu_sched+0x20/0x20
[89943.406686] [<ffffffff8151637d>] wait_for_completion+0x1d/0x20
[89943.406687] [<ffffffff810d4e24>] wait_rcu_gp+0x54/0x70
[89943.406688] [<ffffffff810d4db0>] ? __rcu_read_unlock+0x70/0x70
[89943.406690] [<ffffffff810d9489>] synchronize_rcu+0x29/0x40
[89943.406692] [<ffffffff81096a3d>] switch_task_namespaces+0x2d/0x40
[89943.406693] [<ffffffff81096a60>] exit_task_namespaces+0x10/0x20
[89943.406695] [<ffffffff8106dae1>] do_exit+0x3a1/0xb30
[89943.406697] [<ffffffff8106e300>] do_group_exit+0x50/0xe0
[89943.406699] [<ffffffff8107f688>] get_signal_to_deliver+0x288/0x710
[89943.406703] [<ffffffff81016557>] do_signal+0x57/0x6c0
[89943.406704] [<ffffffff810d96a3>] ? rcu_eqs_enter+0x93/0xa0
[89943.406705] [<ffffffff8110914c>] ? acct_account_cputime+0x1c/0x20
[89943.406707] [<ffffffff810a7d52>] ? account_user_time+0x92/0xb0
[89943.406709] [<ffffffff81016c70>] do_notify_resume+0xb0/0x110
[89943.406711] [<ffffffff81520fa4>] int_signal+0x12/0x17
[89971.807100] Clocksource tsc unstable (delta = 299966057930 ns)
[89971.808750] Switched to clocksource hpet
[90485.778300] sr 4:0:0:0: [sr0] Device not ready
[90485.778309] sr 4:0:0:0: [sr0]
[90485.778332] Result: hostbyte=0x00 driverbyte=0x08
[90485.778351] sr 4:0:0:0: [sr0]
[90485.778353] Sense Key : 0x2 [current]
[90485.778358] sr 4:0:0:0: [sr0]
[90485.778360] ASC=0x3a ASCQ=0x1
[90485.778364] sr 4:0:0:0: [sr0] CDB:
[90485.778366] cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00
[90485.778396] end_request: I/O error, dev sr0, sector 0
[90485.778401] quiet_error: 86 callbacks suppressed
[90485.778404] Buffer I/O error on device sr0, logical block 0
[90485.778428] Buffer I/O error on device sr0, logical block 1
[90485.778431] Buffer I/O error on device sr0, logical block 2
[90485.778434] Buffer I/O error on device sr0, logical block 3
[90485.778436] Buffer I/O error on device sr0, logical block 4
[90485.778438] Buffer I/O error on device sr0, logical block 5
[90485.778441] Buffer I/O error on device sr0, logical block 6
[90485.778443] Buffer I/O error on device sr0, logical block 7
[90485.778447] Buffer I/O error on device sr0, logical block 8
[90485.778450] Buffer I/O error on device sr0, logical block 9
[90485.778499] sr 4:0:0:0: [sr0] unaligned transfer
[90485.778527] sr 4:0:0:0: [sr0] unaligned transfer
[90485.778545] sr 4:0:0:0: [sr0] unaligned transfer
[90485.778573] sr 4:0:0:0: [sr0] unaligned transfer
[90485.778601] sr 4:0:0:0: [sr0] unaligned transfer
[90485.778615] sr 4:0:0:0: [sr0] unaligned transfer
[90485.778625] sr 4:0:0:0: [sr0] unaligned transfer
[90485.778645] sr 4:0:0:0: [sr0] unaligned transfer
[90485.856225] sr 4:0:0:0: [sr0] Device not ready
[90485.856230] sr 4:0:0:0: [sr0]
[90485.856245] Result: hostbyte=0x00 driverbyte=0x08
[90485.856247] sr 4:0:0:0: [sr0]
[90485.856249] Sense Key : 0x2 [current]
[90485.856253] sr 4:0:0:0: [sr0]
[90485.856255] ASC=0x3a ASCQ=0x1
[90485.856258] sr 4:0:0:0: [sr0] CDB:
[90485.856259] cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00
[90485.856268] end_request: I/O error, dev sr0, sector 0
[90485.856332] sr 4:0:0:0: [sr0] unaligned transfer
[90485.856368] sr 4:0:0:0: [sr0] unaligned transfer
[90485.856420] sr 4:0:0:0: [sr0] unaligned transfer
[90485.856441] sr 4:0:0:0: [sr0] unaligned transfer
[90485.856472] sr 4:0:0:0: [sr0] unaligned transfer
[90485.856517] sr 4:0:0:0: [sr0] unaligned transfer
[90485.856540] sr 4:0:0:0: [sr0] unaligned transfer
[90485.856556] sr 4:0:0:0: [sr0] unaligned transfer
[91788.235522] hrtimer: interrupt took 28426 ns
jack@tor /home/jack $
--
Joakim
[-- Attachment #2: config.x86_64 --]
[-- Type: application/octet-stream, Size: 36915 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patchlet] locking/rt: fix rt_read_lock() lockdep annotation.
2014-05-07 14:20 ` Mike Galbraith
@ 2014-05-09 13:27 ` Sebastian Andrzej Siewior
2014-05-09 14:18 ` Mike Galbraith
0 siblings, 1 reply; 10+ messages in thread
From: Sebastian Andrzej Siewior @ 2014-05-09 13:27 UTC (permalink / raw)
To: Mike Galbraith
Cc: Steven Rostedt, linux-rt-users, Thomas Gleixner, John Kacur
* Mike Galbraith | 2014-05-07 16:20:15 [+0200]:
>> > This looks like it reverse applies?
>> Nope, I thought Thomas's whacked the one he did on purpose.
>I should learn to speak lockdep. How about this instead?
>
>locking/rt: fix rt_read_trylock() lockdep annotation.
>
>rt-rw-lockdep-annotations.patch dropped a rwlock_acquire_read
>
>Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
>---
> kernel/locking/rt.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
>--- a/kernel/locking/rt.c
>+++ b/kernel/locking/rt.c
>@@ -217,7 +217,7 @@ int __lockfunc rt_read_trylock(rwlock_t
> migrate_disable();
> ret = rt_mutex_trylock(lock);
> if (ret)
>- rwlock_acquire(&rwlock->dep_map, 0, 1, _RET_IP_);
>+ rwlock_acquire_read(&rwlock->dep_map, 0, 1, _RET_IP_);
Think we should drop rwlock_acquire_read() and use rwlock_acquire()
instead (like the previous patch) because on -RT there is no difference
between a read and a write lock. Or is there more to it?
> else
> migrate_enable();
>
Sebastian
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patchlet] locking/rt: fix rt_read_lock() lockdep annotation.
2014-05-09 13:27 ` Sebastian Andrzej Siewior
@ 2014-05-09 14:18 ` Mike Galbraith
2014-05-09 14:39 ` Steven Rostedt
0 siblings, 1 reply; 10+ messages in thread
From: Mike Galbraith @ 2014-05-09 14:18 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: Steven Rostedt, linux-rt-users, Thomas Gleixner, John Kacur
On Fri, 2014-05-09 at 15:27 +0200, Sebastian Andrzej Siewior wrote:
> * Mike Galbraith | 2014-05-07 16:20:15 [+0200]:
>
> >> > This looks like it reverse applies?
> >> Nope, I thought Thomas's whacked the one he did on purpose.
> >I should learn to speak lockdep. How about this instead?
> >
> >locking/rt: fix rt_read_trylock() lockdep annotation.
> >
> >rt-rw-lockdep-annotations.patch dropped a rwlock_acquire_read
> >
> >Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
> >---
> > kernel/locking/rt.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> >--- a/kernel/locking/rt.c
> >+++ b/kernel/locking/rt.c
> >@@ -217,7 +217,7 @@ int __lockfunc rt_read_trylock(rwlock_t
> > migrate_disable();
> > ret = rt_mutex_trylock(lock);
> > if (ret)
> >- rwlock_acquire(&rwlock->dep_map, 0, 1, _RET_IP_);
> >+ rwlock_acquire_read(&rwlock->dep_map, 0, 1, _RET_IP_);
>
> Think we should drop rwlock_acquire_read() and use rwlock_acquire()
> instead (like the previous patch) because on -RT there is no difference
> between a read and a write lock. Or is there more to it?
No, I had done the right thing in the first patch, as confirmed by what
landed in 12-rt. The lock ain't "shared" is why I whacked it. You saw
what happened to my confidence in that logic when Steven spoke. Eek :)
-Mike
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patchlet] locking/rt: fix rt_read_lock() lockdep annotation.
2014-05-09 14:18 ` Mike Galbraith
@ 2014-05-09 14:39 ` Steven Rostedt
0 siblings, 0 replies; 10+ messages in thread
From: Steven Rostedt @ 2014-05-09 14:39 UTC (permalink / raw)
To: Mike Galbraith
Cc: Sebastian Andrzej Siewior, linux-rt-users, Thomas Gleixner,
John Kacur
On Fri, 09 May 2014 16:18:00 +0200
Mike Galbraith <umgwanakikbuti@gmail.com> wrote:
> No, I had done the right thing in the first patch, as confirmed by what
> landed in 12-rt. The lock ain't "shared" is why I whacked it. You saw
> what happened to my confidence in that logic when Steven spoke. Eek :)
I was confused because the patch didn't apply to my tree :-)
-- Steve
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-05-09 14:39 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-03 17:01 [ANNOUNCE] 3.14.2-rt3 Sebastian Andrzej Siewior
2014-05-05 3:26 ` Mike Galbraith
2014-05-07 7:54 ` [patchlet] locking/rt: fix rt_read_lock() lockdep annotation Mike Galbraith
2014-05-07 13:48 ` Steven Rostedt
2014-05-07 14:01 ` Mike Galbraith
2014-05-07 14:20 ` Mike Galbraith
2014-05-09 13:27 ` Sebastian Andrzej Siewior
2014-05-09 14:18 ` Mike Galbraith
2014-05-09 14:39 ` Steven Rostedt
2014-05-07 16:27 ` [ANNOUNCE] 3.14.2-rt3 Joakim Hernberg
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 NNTP newsgroup(s).