Lines Matching refs:eventpoll
3 * fs/eventpoll.c (Efficient event retrieval implementation)
26 #include <linux/eventpoll.h>
132 * Each file descriptor added to the eventpoll interface will
139 /* RB tree node links this structure to the eventpoll RB tree */
145 /* List header used to link this structure to the eventpoll ready list */
149 * Works together "struct eventpoll"->ovflist in keeping the
164 struct eventpoll *ep;
178 * structure and represents the main data structure for the eventpoll
181 struct eventpoll {
215 /* The user that created the eventpoll descriptor */
370 * @ep: Pointer to the eventpoll context.
375 static inline int ep_events_available(struct eventpoll *ep)
384 struct eventpoll *ep = p;
395 static void ep_busy_loop(struct eventpoll *ep, int nonblock)
403 static inline void ep_reset_busy_poll_napi_id(struct eventpoll *ep)
414 struct eventpoll *ep;
447 static inline void ep_busy_loop(struct eventpoll *ep, int nonblock)
451 static inline void ep_reset_busy_poll_napi_id(struct eventpoll *ep)
551 static void ep_poll_safewake(struct eventpoll *ep, struct epitem *epi,
554 struct eventpoll *ep_src;
563 * protected. Thus, we are introducing a per eventpoll nest field.
590 static void ep_poll_safewake(struct eventpoll *ep, struct epitem *epi,
620 static void ep_unregister_pollwait(struct eventpoll *ep, struct epitem *epi)
679 static __poll_t ep_scan_ready_list(struct eventpoll *ep,
680 __poll_t (*sproc)(struct eventpoll *,
772 * Removes a "struct epitem" from the eventpoll RB tree and deallocates
775 static int ep_remove(struct eventpoll *ep, struct epitem *epi)
800 * At this point it is safe to free the eventpoll item. Use the union
813 static void ep_free(struct eventpoll *ep)
824 * eventpoll_release_file() while we're freeing the "struct eventpoll".
867 struct eventpoll *ep = file->private_data;
875 static __poll_t ep_read_events_proc(struct eventpoll *ep, struct list_head *head,
888 struct eventpoll *ep;
904 static __poll_t ep_read_events_proc(struct eventpoll *ep, struct list_head *head,
933 struct eventpoll *ep = file->private_data;
950 struct eventpoll *ep = f->private_data;
971 /* File callbacks that implement the eventpoll file behaviour */
982 * This is called from eventpoll_release() to unlink files from the eventpoll
984 * closed without being removed from the eventpoll interface.
988 struct eventpoll *ep;
1014 static int ep_alloc(struct eventpoll **pep)
1018 struct eventpoll *ep;
1045 * Search the file inside the eventpoll tree. The RB tree operations
1049 static struct epitem *ep_find(struct eventpoll *ep, struct file *file, int fd)
1074 static struct epitem *ep_find_tfd(struct eventpoll *ep, int tfd, unsigned long toff)
1097 struct eventpoll *ep;
1178 struct eventpoll *ep = epi->ep;
1216 struct eventpoll *ep = epi->ep;
1259 * Wake up ( if active ) both the eventpoll wait list and the ->poll()
1339 static void ep_rbtree_insert(struct eventpoll *ep, struct epitem *epi)
1435 * eventpoll objects.
1463 epi->ep->ws = wakeup_source_register(NULL, "eventpoll");
1498 static int ep_insert(struct eventpoll *ep, const struct epoll_event *event,
1630 static int ep_modify(struct eventpoll *ep, struct epitem *epi,
1702 static __poll_t ep_send_events_proc(struct eventpoll *ep, struct list_head *head,
1786 static int ep_send_events(struct eventpoll *ep,
1832 * @ep: Pointer to the eventpoll context.
1845 static int ep_poll(struct eventpoll *ep, struct epoll_event __user *events,
2008 struct eventpoll *ep = file->private_data;
2009 struct eventpoll *ep_tovisit;
2058 static int ep_loop_check(struct eventpoll *ep, struct file *file)
2079 * Open an eventpoll file descriptor.
2084 struct eventpoll *ep = NULL;
2093 * Create the internal data structure ("struct eventpoll").
2099 * Creates all the items needed to setup an eventpoll file. That is,
2107 file = anon_inode_getfile("[eventpoll]", &eventpoll_fops, ep,
2155 struct eventpoll *ep;
2157 struct eventpoll *tep = NULL;
2180 * the user passed to us _is_ an eventpoll file. And also we do not permit
2310 * the eventpoll file that enables the insertion/removal/change of
2326 * Implement the event wait interface for the eventpoll file. It is the kernel
2334 struct eventpoll *ep;
2344 /* Get the "struct file *" for the eventpoll file */
2351 * the user passed to us _is_ an eventpoll file.
2378 * Implement the event wait interface for the eventpoll file. It is the kernel