• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/fs/

Lines Matching defs:epi

226 	struct epitem *epi;
294 return container_of(p, struct ep_pqueue, pt)->epi;
370 static void ep_unregister_pollwait(struct eventpoll *ep, struct epitem *epi)
373 struct list_head *lsthead = &epi->pwqlist;
377 nwait = xchg(&epi->nwait, 0);
394 static int ep_remove(struct eventpoll *ep, struct epitem *epi)
397 struct file *file = epi->ffd.file;
407 ep_unregister_pollwait(ep, epi);
411 if (ep_is_linked(&epi->fllink))
412 list_del_init(&epi->fllink);
415 if (ep_rb_linked(&epi->rbn))
416 ep_rb_erase(&epi->rbn, &ep->rbr);
419 if (ep_is_linked(&epi->rdllink))
420 list_del_init(&epi->rdllink);
424 kmem_cache_free(epi_cache, epi);
435 struct epitem *epi;
455 epi = rb_entry(rbp, struct epitem, rbn);
457 ep_unregister_pollwait(ep, epi);
467 epi = rb_entry(rbp, struct epitem, rbn);
468 ep_remove(ep, epi);
526 struct epitem *epi;
542 epi = list_first_entry(lsthead, struct epitem, fllink);
544 ep = epi->ep;
545 list_del_init(&epi->fllink);
547 ep_remove(ep, epi);
585 struct epitem *epi, *epir = NULL;
590 epi = rb_entry(rbp, struct epitem, rbn);
591 kcmp = ep_cmp_ffd(&ffd, &epi->ffd);
597 epir = epi;
617 struct epitem *epi = ep_item_from_wait(wait);
618 struct eventpoll *ep = epi->ep;
620 DNPRINTK(3, (KERN_INFO "[%p] eventpoll: poll_callback(%p) epi=%p ep=%p\n",
621 current, epi->ffd.file, epi, ep));
631 if (!(epi->event.events & ~EP_PRIVATE_BITS))
641 if (epi->next == EP_UNACTIVE_PTR) {
642 epi->next = ep->ovflist;
643 ep->ovflist = epi;
649 if (ep_is_linked(&epi->rdllink))
652 list_add_tail(&epi->rdllink, &ep->rdllist);
682 struct epitem *epi = ep_item_from_epqueue(pt);
685 if (epi->nwait >= 0 && (pwq = kmem_cache_alloc(pwq_cache, GFP_KERNEL))) {
688 pwq->base = epi;
690 list_add_tail(&pwq->llink, &epi->pwqlist);
691 epi->nwait++;
694 epi->nwait = -1;
698 static void ep_rbtree_insert(struct eventpoll *ep, struct epitem *epi)
707 kcmp = ep_cmp_ffd(&epi->ffd, &epic->ffd);
713 rb_link_node(&epi->rbn, parent, p);
714 rb_insert_color(&epi->rbn, &ep->rbr);
725 struct epitem *epi;
729 if (!(epi = kmem_cache_alloc(epi_cache, GFP_KERNEL)))
733 ep_rb_initnode(&epi->rbn);
734 INIT_LIST_HEAD(&epi->rdllink);
735 INIT_LIST_HEAD(&epi->fllink);
736 INIT_LIST_HEAD(&epi->pwqlist);
737 epi->ep = ep;
738 ep_set_ffd(&epi->ffd, tfile, fd);
739 epi->event = *event;
740 epi->nwait = 0;
741 epi->next = EP_UNACTIVE_PTR;
744 epq.epi = epi;
761 if (epi->nwait < 0)
766 list_add_tail(&epi->fllink, &tfile->f_ep_links);
773 ep_rbtree_insert(ep, epi);
779 if ((revents & event->events) && !ep_is_linked(&epi->rdllink)) {
780 list_add_tail(&epi->rdllink, &ep->rdllist);
801 ep_unregister_pollwait(ep, epi);
810 if (ep_is_linked(&epi->rdllink))
811 list_del_init(&epi->rdllink);
814 kmem_cache_free(epi_cache, epi);
823 static int ep_modify(struct eventpoll *ep, struct epitem *epi, struct epoll_event *event)
835 epi->event.events = event->events;
841 revents = epi->ffd.file->f_op->poll(epi->ffd.file, NULL);
846 epi->event.data = event->data;
853 if (!ep_is_linked(&epi->rdllink)) {
854 list_add_tail(&epi->rdllink, &ep->rdllist);
879 struct epitem *epi, *nepi;
909 epi = list_first_entry(&txlist, struct epitem, rdllink);
911 list_del_init(&epi->rdllink);
918 revents = epi->ffd.file->f_op->poll(epi->ffd.file, NULL);
919 revents &= epi->event.events;
930 __put_user(epi->event.data,
933 if (epi->event.events & EPOLLONESHOT)
934 epi->event.events &= EP_PRIVATE_BITS;
942 if (!(epi->event.events & EPOLLET) &&
943 (revents & epi->event.events))
944 list_add_tail(&epi->rdllink, &ep->rdllist);
956 for (nepi = ep->ovflist; (epi = nepi) != NULL;
957 nepi = epi->next, epi->next = EP_UNACTIVE_PTR) {
958 if (!ep_is_linked(&epi->rdllink) &&
959 (epi->event.events & ~EP_PRIVATE_BITS))
960 list_add_tail(&epi->rdllink, &ep->rdllist);
1125 struct epitem *epi;
1174 epi = ep_find(ep, tfile, fd);
1179 if (!epi) {
1187 if (epi)
1188 error = ep_remove(ep, epi);
1193 if (epi) {
1195 error = ep_modify(ep, epi, &epds);