[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC] create a single workqueue for each vm to update vm ir
From: |
Zhanghaoyu (A) |
Subject: |
[Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table |
Date: |
Tue, 26 Nov 2013 12:40:36 +0000 |
Hi all,
When guest set irq smp_affinity, VMEXIT occurs, then the vcpu thread will IOCTL
return to QEMU from hypervisor, then vcpu thread ask the hypervisor to update
the irq routing table,
in kvm_set_irq_routing, synchronize_rcu is called, current vcpu thread is
blocked for so much time to wait RCU grace period, and during this period, this
vcpu cannot provide service to VM,
so those interrupts delivered to this vcpu cannot be handled in time, and the
apps running on this vcpu cannot be serviced too.
It's unacceptable in some real-time scenario, e.g. telecom.
So, I want to create a single workqueue for each VM, to asynchronously
performing the RCU synchronization for irq routing table,
and let the vcpu thread return and VMENTRY to service VM immediately, no more
need to blocked to wait RCU grace period.
And, I have implemented a raw patch, took a test in our telecom environment,
above problem disappeared.
Any better ideas?
Thanks,
Zhang Haoyu
- [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table,
Zhanghaoyu (A) <=
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Paolo Bonzini, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Gleb Natapov, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Michael S. Tsirkin, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Gleb Natapov, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Michael S. Tsirkin, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Zhanghaoyu (A), 2013/11/29
Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Avi Kivity, 2013/11/26