Gregory Haskins wrote:
Anthony Liguori wrote:
I think there is a slight disconnect here. This is *exactly* what I am
trying to do.
If it were exactly what you were trying to do, you would have posted a
virtio-net in-kernel backend implementation instead of a whole new
paravirtual IO framework ;-)
That said, I don't think we're bound today by the fact that we're in
userspace.
You will *always* be bound by the fact that you are in userspace.
Again, let's talk numbers. A heavy-weight exit is 1us slower than a
light weight exit. Ideally, you're taking < 1 exit per packet because
you're batching notifications. If you're ping latency on bare metal
compared to vbus is 39us to 65us, then all other things being equally,
the cost imposed by doing what your doing in userspace would make the
latency be 66us taking your latency from 166% of native to 169% of
native. That's not a huge difference and I'm sure you'll agree there
are a lot of opportunities to improve that even further.
And you didn't mention whether your latency tests are based on ping or
something more sophisticated as ping will be a pathological case that
doesn't allow any notification batching.
I agree that the "does anyone care" part of the equation will approach
zero as the latency difference shrinks across some threshold (probably
the single microsecond range), but I will believe that is even possible
when I see it ;)
Note the other hat we have to where is not just virtualization developer
but Linux developer. If there are bad userspace interfaces for IO that
impose artificial restrictions, then we need to identify those and fix them.
Regards,
Anthony Liguori
Regards,
-Greg
--
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