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

Avi Kivity
2010-02-24T09:48:04Z

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?

> This restores the deferred VCPU kicking before 956f97cf. We need this
> over -rt as wake_up* requires non-atomic context in this configuration.
>
>

Seems sane, will apply once I understand why the current code fails.

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