Re: VMEXIT and Threads

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2014-10-06 08:51, Paolo Bonzini wrote:
> Il 06/10/2014 06:45, Oscar Garcia ha scritto:
>>
>> I have a host with debian 7 (intel i7 - RAM 8GB), the guest OS is also
>> debian. I am running a program with some threads, every thread makes a
>> vmexit call. Also every thread runs in a isolated vcpu. The problem is
>> that the program does not run fluently, it looks like that every thread
>> interfere with each other. This situation does not happen when
>> separately processes call vmexit simultaneously. The question is: there
>> is any restriction (any lock) that block the threads. I am not sure
>> maybe libc, RCU, on even Qemu and KVM?
> 
> At the KVM level, _most_ VCPU ioctls can run concurrently because they
> only take a VCPU-level mutex.
> 
> QEMU however will take a global mutex on each exit to userspace.  What
> vmexits are these?

Expensive is usually anything related to VGA emulation - as it may draw
synchronously. But also writing to the emulated serial port when that
one dumps to the host's console under X. If only one VCPU is stuck in
this, also if that is unrelated to you primary guest load, even a
trivial "kick NIC in order to send my packet" may have to wait for
milliseconds.

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux