Re: Regression: sched/preempt: Add static_key() to preempt_notifiers breaks my KVM

Josh Boyer
2015-06-30T13:47:51Z

On Thu, Jun 25, 2015 at 8:15 AM, Pontus Fuchs <pontus.fuchs@gmail.com> wrote:
> On 2015-06-25 14:09, Peter Zijlstra wrote:
>>
>> On Thu, Jun 25, 2015 at 02:00:02PM +0200, Pontus Fuchs wrote:
>>>
>>> Hi,
>>>
>>
>> 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);
>> }
>
>
> Tested ok. Thanks.

We've had a report of this in Fedora now. Is the above patch queued anywhere?

https://bugzilla.redhat.com/show_bug.cgi?id=1237143

josh