Re: [PATCH 0/2] eventfd: new EFD_STATE flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 11, 2010 at 11:02:27AM +0200, Michael S. Tsirkin wrote:
> On Mon, Jan 11, 2010 at 11:01:27AM +0200, Gleb Natapov wrote:
> > On Thu, Jan 07, 2010 at 12:36:01PM +0200, Michael S. Tsirkin wrote:
> > > Or if I do it the other way:
> > > 		remove_wait_queue(irqfd->wqh, &irqfd->wait);
> > > 	->
> > > 		eventfd_read_ctx(irqfd->eventfd, &ucnt);
> > > 
> > > now, if device signals eventfd at point marked by ->,
> > > it will not be sent but counter will be cleared,
> > > so we will loose a message.
> > > 
> > May be I am missing something here, but why doing it like that is a
> > problem? Event delivery races with interrupt masking so making masking
> > succeed before event delivery is OK. Event generation is asynchronous
> > anyway and could have happened jiffy latter anyway.
> > 
> > --
> > 			Gleb.
> 
> No, event generation would only trigger a single interrupt.  This race
> generates two interrupts for a single event.  This can never happen with
> real hardware.  eventfd_ctx_remove_wait_queue would solve this problem.
> 
In quoted test above you are saying that "we will loose a message". So
how does it generates two interrupts when we loose a message?
  
--
			Gleb.
--
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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux