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

From: Anthony Liguori
Date: Wed Apr 01 2009 - 20:30:16 EST


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 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/