* KVM IO performance
@ 2008-07-14 20:24 Sukanto Ghosh
2008-07-15 0:32 ` Dong, Eddie
0 siblings, 1 reply; 3+ messages in thread
From: Sukanto Ghosh @ 2008-07-14 20:24 UTC (permalink / raw)
To: kvm
Hi all,
Why has the IO device emulation part been kept in userspace ?
IO attempts cause VM-exits to the KVM (running in kernel-mode) it then
forwards these requests to the userspace (mode-switch). After
completion of IO in userspace, another mode switch is done to KVM
before resuming the guests.
What would be the problems had the device emulation parts been moved
totally to kernelspace ?
--
Regards,
Sukanto Ghosh
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: KVM IO performance
2008-07-14 20:24 KVM IO performance Sukanto Ghosh
@ 2008-07-15 0:32 ` Dong, Eddie
2008-07-15 7:22 ` Dor Laor
0 siblings, 1 reply; 3+ messages in thread
From: Dong, Eddie @ 2008-07-15 0:32 UTC (permalink / raw)
To: Sukanto Ghosh, kvm; +Cc: Dong, Eddie
Sukanto Ghosh wrote:
> Hi all,
>
> Why has the IO device emulation part been kept in
> userspace ?
> IO attempts cause VM-exits to the KVM (running in
> kernel-mode) it then forwards these requests to the
> userspace (mode-switch). After completion of IO in
> userspace, another mode switch is done to KVM before
> resuming the guests.
> What would be the problems had the device emulation parts
> been moved totally to kernelspace ?
>
The simple reason is that people don't want to pull a lot of code into
kernel whose failure may crash the whole system, of course there are
many other reasons such as maintaining synchronization with Qemu
upstream, coding style, maintanence effort etc.
Eddie
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: KVM IO performance
2008-07-15 0:32 ` Dong, Eddie
@ 2008-07-15 7:22 ` Dor Laor
0 siblings, 0 replies; 3+ messages in thread
From: Dor Laor @ 2008-07-15 7:22 UTC (permalink / raw)
To: Dong, Eddie; +Cc: Sukanto Ghosh, kvm
Dong, Eddie wrote:
> Sukanto Ghosh wrote:
>
>> Hi all,
>>
>> Why has the IO device emulation part been kept in
>> userspace ?
>> IO attempts cause VM-exits to the KVM (running in
>> kernel-mode) it then forwards these requests to the
>> userspace (mode-switch). After completion of IO in
>> userspace, another mode switch is done to KVM before
>> resuming the guests.
>> What would be the problems had the device emulation parts
>> been moved totally to kernelspace ?
>>
>>
> The simple reason is that people don't want to pull a lot of code into
> kernel whose failure may crash the whole system, of course there are
> many other reasons such as maintaining synchronization with Qemu
> upstream, coding style, maintanence effort etc.
> Eddie
>
Nevertheless there is work in progress to integrate virtio network with
the kernel's tap.
This will eventually lead to zero copy networking (with some dma ioat
magic).
For block devices, there is no activity for kernel side, mainly because
qcow2 format is complex and better be userspace, and the performance is
relatively good.
Dor
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-07-15 7:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-14 20:24 KVM IO performance Sukanto Ghosh
2008-07-15 0:32 ` Dong, Eddie
2008-07-15 7:22 ` Dor Laor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox