Davide Libenzi wrote: > On Thu, 14 May 2009, Gregory Haskins wrote: > > >> Avi Kivity wrote: >> >>> Gregory Haskins wrote: >>> >>>> KVM provides a complete virtual system environment for guests, including >>>> support for injecting interrupts modeled after the real >>>> exception/interrupt >>>> facilities present on the native platform (such as the IDT on x86). >>>> Virtual interrupts can come from a variety of sources (emulated devices, >>>> pass-through devices, etc) but all must be injected to the guest via >>>> the KVM infrastructure. This patch adds a new mechanism to inject a >>>> specific >>>> interrupt to a guest using a decoupled eventfd mechnanism: Any legal >>>> signal >>>> on the irqfd (using eventfd semantics from either userspace or >>>> kernel) will >>>> translate into an injected interrupt in the guest at the next available >>>> interrupt window. >>>> >>>> + >>>> +static void >>>> +irqfd_inject(struct work_struct *work) >>>> +{ >>>> + struct _irqfd *irqfd = container_of(work, struct _irqfd, work); >>>> + struct kvm *kvm = irqfd->kvm; >>>> + >>>> >>>> >>> I think you need to ->read() from the irqfd, otherwise the count will >>> never clear. >>> >> Yeah, and this is a disavantage to using eventfd vs a custom anon-fd >> implementation. >> >> However, the count is really only there for deciding whether to sleep a >> traditional eventfd recipient which doesn't really apply in this >> application. I suppose we could try to invoke the read method (or add a >> new method to eventfd to allow it to be cleared independent of the >> f_ops->read() (ala eventfd_signal() vs f_ops->write()). I'm not >> convinced we really need to worry about it, though. IMO we can just let >> the count accumulate. >> >> But if you insist this loose end should be addressed, perhaps Davide has >> some thoughts on how to best do this? >> > > The counter is 64bit, so at 1M IRQ/s will take about 585K years to > saturate. But from a symmetry POV, it may be better to clear it. Maybe > with a kernel-side eventfd_read()? > Hi Davide, I think ultimately that would be the direction to go. I will defer to Avi, but I think we have reached consensus that while its perhaps sloppy to leave the counter untouched, we can back-burner this issue for now and just let it accumulate indefinately. If it becomes an issue down the road we can always fix it then. Thanks, -Greg
Attachment:
signature.asc
Description: OpenPGP digital signature