Prev: Other problem/regression with b9c61b70075c87a8612624736faf4a2de5b1ed30
Next: vhost: initialize log eventfd context pointer
From: Jan Kiszka on 23 Feb 2010 14:20 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. This used to work up to 956f97cf. -rt for 2.6.31 is not yet affected, but 2.6.33 should be broken (haven't checked, using kvm-kmod over 2.6.31 ATM). I can provide a patch that restores the deferred kicking if it's acceptable for upstream. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Thomas Gleixner on 23 Feb 2010 17:30
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 ? > This used to work up to 956f97cf. -rt for 2.6.31 is not yet affected, > but 2.6.33 should be broken (haven't checked, using kvm-kmod over 2.6.31 > ATM). I can provide a patch that restores the deferred kicking if it's > acceptable for upstream. Well, at least is would be nice to have one for -rt. Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |