Re: [KVM-RFC PATCH 1/2] eventfd: add an explicit srcu based notifier interface

Davide Libenzi
2009-06-18T17:50:12Z

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