Re: [PATCH 1/1] eventfd: implementation of EFD_MASK flag

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

 



On 08/02/13 07:36, Andy Lutomirski wrote:

On 08/02/13 02:03, Andy Lutomirski wrote:

There may be some
advantage to adding (later on, if needed) an option to change the
flags set in:

+               if (waitqueue_active(&ctx->wqh))
+                       wake_up_locked_poll(&ctx->wqh,
+                               (unsigned long)ctx->mask.events);

(i.e. to allow the second parameter to omit some bits that were
already signaled.)  Allowing write to write a bigger struct in the
future won't break anything.


I think I don't follow. Either the second parameter is supposed to be
*newly* signaled events, in which case the events that were already signaled
in the past should be ommitted, or it is meant to be *all* signaled events,
in which case the current implementation is OK.

I defer to the experts here.  But I suspect that if you want to
perfectly emulate sockets, you may need to vary what you specify.
(IIRC tcp sockets report an EPOLLIN edge every time data is received
even if the receive buffer wasn't empty.)

Hm. That sounds like leaking protocol implementation details to the user. That's a bad design IMO and should not be encouraged.

Anyway, I have implemented your other suggestions.

Btw, one thing I am not sure about is how to submit improved patches to the ML. Should I use the same patch name? Doesn't that cause confusion?

Martin
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux