Re: [RFC PATCH 00/17] virtual-bus

From: Avi Kivity
Date: Thu Apr 02 2009 - 05:03:22 EST


Herbert Xu wrote:
Avi Kivity <avi@xxxxxxxxxx> wrote:
virtio is already non-kvm-specific (lguest uses it) and non-pci-specific (s390 uses it).

I think Greg's work shows that putting the backend in the kernel
can dramatically reduce the cost of a single guest->host transaction.
I'm sure the same thing would work for virtio too.

Virtio suffers because we've had no notification of when a packet is actually submitted. With the notification, the only difference should be in the cost of a kernel->user switch, which is nowhere nearly as dramatic.

If you have a good exit mitigation scheme you can cut exits by a factor of 100; so the userspace exit costs are cut by the same factor. If you have good copyless networking APIs you can cut the cost of copies to zero (well, to the cost of get_user_pages_fast(), but a kernel solution needs that too).

Given the choice of having to mitigate or not having the problem
in the first place, guess what I would prefer :)

There is no choice. Exiting from the guest to the kernel to userspace is prohibitively expensive, you can't do that on every packet.

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/