Messages in this thread | | | Date | Wed, 29 Feb 2012 21:06:36 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH v2 1/2] epoll: introduce POLLFREE to flush ->signalfd_wqh before kfree() |
| |
On 02/29, Andy Lutomirski wrote: > > On 02/24/2012 11:07 AM, Oleg Nesterov wrote: > > This patch adds the special event, POLLFREE, currently only for > > epoll. It expects that init_poll_funcptr()'ed hook should do the > > necessary cleanup. Perhaps it should be defined as EPOLLFREE in > > eventpoll. > > I have a bunch of userspace code that uses signalfd via epoll. Does > this affect the ABI?
I hope not ;)
> Will epoll_wait ever set POLLFREE?
No.
> Does > EPOLL_CTL_MOD accept POLLFREE?
Yes, it doesn't check the bits. EPOLL_CTL_MOD accepts any bit.
> IOW, from a userspace point of view, wtf does this do?
I hope this is transparent to the user-space. If the application does EPOLL_CTL_MOD(POLLFREE) by mistake then ep_poll_callback(POLLFREE) can trigger the unnecessary wakeup and move the file to ep->rdllist but this is harmless. The subsequent ->poll() can't return POLLFREE.
Oleg.
| |