From: Peter Zijlstra <peterz@infradead.org>
To: Pontus Fuchs <pontus.fuchs@gmail.com>
Cc: mingo@redhat.com,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
gleb@kernel.org
Subject: Re: Regression: sched/preempt: Add static_key() to preempt_notifiers breaks my KVM
Date: Thu, 25 Jun 2015 14:09:49 +0200 [thread overview]
Message-ID: <20150625120949.GZ3644@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <558BED42.1030000@gmail.com>
On Thu, Jun 25, 2015 at 02:00:02PM +0200, Pontus Fuchs wrote:
> Hi,
>
> On 4.1+ kernels I can no longer start my KVM guest. Upon trying to start it
> I can see the following log message:
>
> [ 25.821060] BUG: sleeping function called from invalid context at
> kernel/locking/mutex.c:97
> [ 25.821063] in_atomic(): 1, irqs_disabled(): 0, pid: 2113, name:
> qemu-system-x86
> [ 25.821066] CPU: 0 PID: 2113 Comm: qemu-system-x86 Not tainted 4.1.0+ #88
> [ 25.821067] Hardware name: Dell Inc. Dell System XPS 15Z/00WW5M,
> BIOS A12 09/07/2012
> [ 25.821068] 0000000000000061 ffff88021339bcd8 ffffffff816b8c81
> 0000000000000007
> [ 25.821070] ffff880231159d40 ffff88021339bcf8 ffffffff8107d163
> ffff88021339bd18
> [ 25.821072] ffffffff81a451bc ffff88021339bd28 ffffffff8107d1ed
> ffff8802133a0000
> [ 25.821073] Call Trace:
> [ 25.821078] [<ffffffff816b8c81>] dump_stack+0x4c/0x65
> [ 25.821081] [<ffffffff8107d163>] ___might_sleep+0xd3/0x110
> [ 25.821083] [<ffffffff8107d1ed>] __might_sleep+0x4d/0x90
> [ 25.821085] [<ffffffff816bde74>] mutex_lock+0x24/0x50
> [ 25.821087] [<ffffffff81141ef7>] static_key_slow_inc+0x57/0xc0
> [ 25.821089] [<ffffffff8107cafd>] preempt_notifier_register+0x1d/0x60
> [ 25.821099] [<ffffffffa04f11fd>] vcpu_load+0x3d/0x70 [kvm]
> [ 25.821108] [<ffffffffa050699e>] kvm_arch_vcpu_setup+0x1e/0x50 [kvm]
> [ 25.821115] [<ffffffffa05066e1>] ? kvm_arch_vcpu_create+0x51/0x70 [kvm]
> [ 25.821120] [<ffffffffa04f29b2>] kvm_vm_ioctl+0x1d2/0x7a0 [kvm]
> [ 25.821123] [<ffffffff811b7881>] do_vfs_ioctl+0x301/0x550
> [ 25.821124] [<ffffffff811b7b49>] SyS_ioctl+0x79/0x90
> [ 25.821127] [<ffffffff816c0257>] entry_SYSCALL_64_fastpath+0x12/0x6a
>
That seems pointless..
---
virt/kvm/kvm_main.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 90977418aeb6..d7aafa0458a0 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -128,8 +128,9 @@ int vcpu_load(struct kvm_vcpu *vcpu)
if (mutex_lock_killable(&vcpu->mutex))
return -EINTR;
- cpu = get_cpu();
preempt_notifier_register(&vcpu->preempt_notifier);
+
+ cpu = get_cpu();
kvm_arch_vcpu_load(vcpu, cpu);
put_cpu();
return 0;
@@ -139,8 +140,8 @@ void vcpu_put(struct kvm_vcpu *vcpu)
{
preempt_disable();
kvm_arch_vcpu_put(vcpu);
- preempt_notifier_unregister(&vcpu->preempt_notifier);
preempt_enable();
+ preempt_notifier_unregister(&vcpu->preempt_notifier);
mutex_unlock(&vcpu->mutex);
}
next prev parent reply other threads:[~2015-06-25 12:09 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-25 12:00 Pontus Fuchs
2015-06-25 12:09 ` Peter Zijlstra [this message]
2015-06-25 12:15 ` Pontus Fuchs
2015-06-25 12:55 ` [PATCH] sched,kvm: Fix KVM preempt_notifier usage Peter Zijlstra
2015-06-30 11:10 ` [tip:sched/urgent] sched/preempt, kvm: " tip-bot for Peter Zijlstra
2015-07-03 11:23 ` Paolo Bonzini
2015-07-03 11:12 ` [PATCH] sched,kvm: " Paolo Bonzini
2015-07-03 12:19 ` Peter Zijlstra
2015-07-03 12:31 ` Paolo Bonzini
2015-07-03 13:17 ` Peter Zijlstra
2015-07-03 15:16 ` Peter Zijlstra
2015-07-03 15:26 ` Paolo Bonzini
2015-07-03 15:38 ` Paolo Bonzini
2015-07-03 15:42 ` Peter Zijlstra
2015-07-03 15:46 ` Paolo Bonzini
2015-07-03 15:57 ` Takashi Iwai
2015-06-30 13:47 ` Regression: sched/preempt: Add static_key() to preempt_notifiers breaks my KVM Josh Boyer
2015-07-01 6:55 ` Ingo Molnar
2015-07-03 13:15 ` Takashi Iwai
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=20150625120949.GZ3644@twins.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=gleb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pontus.fuchs@gmail.com \
/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
Powered by JetHome