[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1398501491.12941.5.camel@marge.simpson.net>
Date: Sat, 26 Apr 2014 10:38:11 +0200
From: Mike Galbraith <umgwanakikbuti@...il.com>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: linux-rt-users <linux-rt-users@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>, rostedt@...dmis.org,
John Kacur <jkacur@...hat.com>
Subject: Re: [ANNOUNCE] 3.14-rt1
On Fri, 2014-04-25 at 09:40 +0200, Mike Galbraith wrote:
> Hotplug can still deadlock in rt trees too, and will if you beat it
> hard.
Box actually deadlocks like so.
CPU3 boot.kdump
sys_wait4
do_wait
read_lock(&tasklist_lock)
rt_read_lock
__rt_spin_lock(lock)
migrate_disable()
pin_current_cpu()
if (hp->grab_lock) {
preempt_enable(); <== hmm
hotplug_lock(hp);
hp = &__get_cpu_var(hotplug_pcp); <== hmm
struct hotplug_pcp {
unplug = 0xffff8800b7d0e540,
sync_tsk = 0x0,
refcount = 0, <== hmm
grab_lock = 1,
...
lock = {
...
owner = 0xffff8802039f0001,
stress-cpu-hotplug_stress.sh?!?
<=== he's way over yonder.
Yo, dude, would you please NOT
take percpu locks with you?
CPU0 stress-cpu-hotplug_stress.sh
sysfs_write_file
dev_attr_store
online_store
device_offline
cpu_subsys_offline
cpu_down
_cpu_down
cpu_hotplug_begin
mutex_lock(&cpu_hotplug.lock);
...
check_for_tasks
write_lock_irq(&tasklist_lock);
held by CPU3 boot.kdump over there ===>
CPU0 kworker/0:0
cpuset_hotplug_workfn+0x23e/0x380
rebuild_sched_domains+0x15/0x30
rebuild_sched_domains_locked+0x17/0x80
get_online_cpus+0x35/0x50
mutex_lock(&cpu_hotplug.lock);
held by stress-cpu-hotplug_stress.sh
twiddle twiddle twiddle...
INFO: task kworker/0:0:4 blocked for more than 120 seconds.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists