Lines Matching refs:epitem
99 #define EP_ITEM_COST (sizeof(struct epitem) + sizeof(struct eppoll_entry))
108 /* List header used to link this structure to the "struct epitem" */
111 /* The "base" pointer is set to the container "struct epitem" */
112 struct epitem *base;
130 struct epitem {
134 /* Used to free the struct epitem */
145 struct epitem *next;
151 * Protected by file->f_lock, true for to-be-released epitem already
203 * This is a single linked list that chains all the "struct epitem" that
207 struct epitem *ovflist;
222 * usage count, used together with epitem->dying to
241 struct epitem *epi;
258 /* Slab cache used to allocate "struct epitem" */
298 struct epitem *epi= container_of(p, struct epitem, fllink);
360 static inline int ep_is_linked(struct epitem *epi)
370 /* Get the "struct epitem" from a wait queue pointer */
371 static inline struct epitem *ep_item_from_wait(wait_queue_entry_t *p)
427 static inline void ep_set_busy_poll_napi_id(struct epitem *epi)
466 static inline void ep_set_busy_poll_napi_id(struct epitem *epi)
499 static void ep_poll_safewake(struct eventpoll *ep, struct epitem *epi,
538 static void ep_poll_safewake(struct eventpoll *ep, struct epitem *epi,
567 static void ep_unregister_pollwait(struct eventpoll *ep, struct epitem *epi)
580 static inline struct wakeup_source *ep_wakeup_source(struct epitem *epi)
586 static inline void ep_pm_stay_awake(struct epitem *epi)
594 static inline bool ep_has_wakeup_source(struct epitem *epi)
600 static inline void ep_pm_stay_awake_rcu(struct epitem *epi)
636 struct epitem *epi, *nepi;
684 struct epitem *epi = container_of(head, struct epitem, rcu);
714 * Removes a "struct epitem" from the eventpoll RB tree and deallocates
721 static bool __ep_remove(struct eventpoll *ep, struct epitem *epi, bool force)
767 * 'struct epitem'. The 'rbn' field is no longer in use. Protected by
780 static void ep_remove_safe(struct eventpoll *ep, struct epitem *epi)
788 struct epitem *epi;
801 epi = rb_entry(rbp, struct epitem, rbn);
808 * Walks through the whole tree and try to free each "struct epitem".
809 * Note that ep_remove_safe() will not remove the epitem in case of a
817 epi = rb_entry(rbp, struct epitem, rbn);
839 static __poll_t ep_item_poll(const struct epitem *epi, poll_table *pt, int depth);
845 struct epitem *epi, *tmp;
884 static __poll_t ep_item_poll(const struct epitem *epi, poll_table *pt,
911 struct epitem *epi = rb_entry(rbp, struct epitem, rbn);
945 struct epitem *epi;
956 epi = hlist_entry(file->f_ep->first, struct epitem, fllink);
1004 static struct epitem *ep_find(struct eventpoll *ep, struct file *file, int fd)
1008 struct epitem *epi, *epir = NULL;
1013 epi = rb_entry(rbp, struct epitem, rbn);
1029 static struct epitem *ep_find_tfd(struct eventpoll *ep, int tfd, unsigned long toff)
1032 struct epitem *epi;
1035 epi = rb_entry(rbp, struct epitem, rbn);
1053 struct epitem *epi;
1131 static inline bool chain_epi_lockless(struct epitem *epi)
1170 struct epitem *epi = ep_item_from_wait(wait);
1276 struct epitem *epi = epq->epi;
1299 static void ep_rbtree_insert(struct eventpoll *ep, struct epitem *epi)
1303 struct epitem *epic;
1308 epic = rb_entry(parent, struct epitem, rbn);
1359 struct epitem *epi;
1403 static int ep_create_wakeup_source(struct epitem *epi)
1426 static noinline void ep_destroy_wakeup_source(struct epitem *epi)
1441 static int attach_epitem(struct file *file, struct epitem *epi)
1482 struct epitem *epi;
1604 static int ep_modify(struct eventpoll *ep, struct epitem *epi,
1679 struct epitem *epi, *tmp;
1965 struct epitem *epi;
1970 epi = rb_entry(rbp, struct epitem, rbn);
2118 struct epitem *epi;
2463 BUILD_BUG_ON(sizeof(void *) <= 8 && sizeof(struct epitem) > 128);
2465 /* Allocates slab cache used to allocate "struct epitem" items */
2466 epi_cache = kmem_cache_create("eventpoll_epi", sizeof(struct epitem),