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

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

 



On Wed, 6 Jan 2010, Michael S. Tsirkin wrote:

> I tried to explain, no?  That patch was taking wait queue spinlock and
> was assuming that eventfd_read_ctx is called from a task that can block.
> KVM attaches its own poller so this is not a good fit for us.  Hope this
> clarifies.
> 
> > and yet again you managed to add an underscore at the beginning of the
> > API name, in an API set where there are no leading underscores.  Even
> > if KVM does that for its own reasons, you should be able to fit your
> > naming "style" to the interface you're adding your droplets into.  I
> > will post an eventfd_read_ctx() to Andrew ASAP.
> > 
> > 
> > 
> > - Davide
> 
> Sorry about the underscore - it's easy to fix but I won't bore you with
> more patch revisions before I understand what makes you unhappy.
> 
> Before KVM starts creating workqueues and doing schedule_work calls just
> to work around the API, can we discuss this please? I am not hung on my
> patch, but could we have it work so that we can call eventfd_read_ctx
> from wait queue callback directly?

The "read" needs to wake possible OUT waiters, *cannot* be done your way.
On top of creating an interface which requires a lock, which noone can get 
from the interface itself, since it's not exposed.
I could split the two and have a locked one, and an unlocked one, but that 
looks shitty too (for the above reason).
I thought you *already* do your own stuff from a work queue, why would you 
need to read from IRQ context?



- 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

[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