Re: [PATCH] KVM: x86: Kick VCPU outside PIC lock again

Avi Kivity
2010-02-24T10:04:31Z

On 02/24/2010 11:54 AM, Jan Kiszka wrote:
> Avi Kivity wrote:
>
>> On 02/24/2010 11:41 AM, Jan Kiszka wrote:
>>
>>> Thomas Gleixner wrote:
>>>
>>>
>>>> On Tue, 23 Feb 2010, Jan Kiszka wrote:
>>>>
>>>>
>>>>
>>>>> Thomas Gleixner wrote:
>>>>>
>>>>>
>>>>>> The i8254/i8259 locks need to be real spinlocks on preempt-rt. Convert
>>>>>> them to raw_spinlock. No change for !RT kernels.
>>>>>>
>>>>>>
>>>>> Doesn't fly for -rt anymore: pic_irq_update runs under this raw lock and
>>>>> calls kvm_vcpu_kick which tries to wake_up some thread -> scheduling
>>>>> while atomic.
>>>>>
>>>>>
>>>> Hmm, a wakeup itself is fine. Is that code waking a wake queue ?
>>>>
>>>>
>>> Yes, it's a wake queue.
>>>
>>>
>> So what's the core issue? Is the lock_t in the wait_queue a sleeping mutex?
>>
> Yep.
>

I see. Won't we hit the same issue when we call pic functions from
atomic context during the guest entry sequence?

--
error compiling committee.c: too many arguments to function