On Thu, 18 Jun 2009, Gregory Haskins wrote: > Actually there is only one (the tx-thread) aside from the eventfd > imposed workqueue one. Incidentally, I would love to get rid of the > other thread too, so I am not just picking on eventfd ;). The other is > a lot harder since it has to update the virtio-ring and may need to page > in guest memory to do so. No, there is the interface rx softirq too, that makes two. Plus, the process of delivering (especially for KVM & Co.) does not involve only ctx switching, there's other stuff in the middle too. You also talk about latency. Really? Probably RT people aren't looking into KVM if RT is even a mild requirement. > To flip it around on you: try telling a group like the netdev guys that > they should put extra context switches into the stack because they don't > really matter. Be sure to wear extra thick asbestos. ;) They already do. So you've got to ask yourself why they can achieve Gbps throughput already, why can't KVM live with it and being compelled to litter an existing interface. > The fact is that eventfd is a really neat general signaling idiom. > However, its currently geared towards "signaling = wakeup". As we have > proven with this KVM *fd effort, this is not necessarily accurate to > describe all use cases, nor is it optimal. I'd like to address that. > An alternative, of course, is that we make a private anon-fd solution > within KVM. However, it will be so similar to eventfd so it just seems > wasteful if it can be avoided. Even though you take that route, you'll have to prove with replicable real life benchmarks, that the bloating make sense. - Davide -- 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