Lines Matching refs:pdp

771 	polldat_t	*pdp;  in pollwakeup()  local
793 for (pdp = php->ph_list; pdp; pdp = pdp->pd_next) in pollwakeup()
798 for (pdp = php->ph_list; pdp; pdp = pdp->pd_next) in pollwakeup()
801 ASSERT(pdp != NULL); in pollwakeup()
803 pdp = php->ph_list; in pollwakeup()
806 first = pdp; in pollwakeup()
808 if ((pdp->pd_events & events) || in pollwakeup()
813 if (pdp->pd_portev != NULL) { in pollwakeup()
814 port_kevent_t *pkevp = pdp->pd_portev; in pollwakeup()
826 (pdp->pd_events | POLLHUP | in pollwakeup()
864 pcp = pdp->pd_pcache; in pollwakeup()
873 pollnotify(pcp, pdp->pd_fd); in pollwakeup()
916 pdp = pdp->pd_next; in pollwakeup()
917 if (pdp == NULL) in pollwakeup()
918 pdp = php->ph_list; in pollwakeup()
919 if (pdp == first) in pollwakeup()
974 pollhead_insert(pollhead_t *php, polldat_t *pdp) in pollhead_insert() argument
977 ASSERT(pdp->pd_next == NULL); in pollhead_insert()
985 ASSERT(wp != pdp); in pollhead_insert()
989 pdp->pd_next = php->ph_list; in pollhead_insert()
990 php->ph_list = pdp; in pollhead_insert()
998 pollhead_delete(pollhead_t *php, polldat_t *pdp) in pollhead_delete() argument
1005 if (wp == pdp) { in pollhead_delete()
1006 *wpp = pdp->pd_next; in pollhead_delete()
1007 pdp->pd_next = NULL; in pollhead_delete()
1014 ASSERT(wp != pdp); in pollhead_delete()
1079 polldat_t *pdp; in pcache_lookup_fd() local
1082 pdp = pcp->pc_hash[hashindex]; in pcache_lookup_fd()
1083 while (pdp != NULL) { in pcache_lookup_fd()
1084 if (pdp->pd_fd == fd) in pcache_lookup_fd()
1086 pdp = pdp->pd_hashnext; in pcache_lookup_fd()
1088 return (pdp); in pcache_lookup_fd()
1094 polldat_t *pdp; in pcache_alloc_fd() local
1096 pdp = kmem_zalloc(sizeof (polldat_t), KM_SLEEP); in pcache_alloc_fd()
1098 pdp->pd_ref = kmem_zalloc(sizeof (xref_t) * nsets, KM_SLEEP); in pcache_alloc_fd()
1099 pdp->pd_nsets = nsets; in pcache_alloc_fd()
1101 return (pdp); in pcache_alloc_fd()
1109 pcache_insert_fd(pollcache_t *pcp, polldat_t *pdp, nfds_t nfds) in pcache_insert_fd() argument
1118 fd = pdp->pd_fd; in pcache_insert_fd()
1120 pdp->pd_hashnext = pcp->pc_hash[hashindex]; in pcache_insert_fd()
1121 pcp->pc_hash[hashindex] = pdp; in pcache_insert_fd()
1130 for (pdp1 = pdp->pd_hashnext; pdp1; pdp1 = pdp1->pd_hashnext) { in pcache_insert_fd()
1131 ASSERT(pdp->pd_fd != pdp1->pd_fd); in pcache_insert_fd()
1147 polldat_t *pdp, *pdp1; in pcache_grow_hashtbl() local
1169 pdp = oldtbl[i]; in pcache_grow_hashtbl()
1170 while (pdp != NULL) { in pcache_grow_hashtbl()
1171 pdp1 = pdp->pd_hashnext; in pcache_grow_hashtbl()
1172 pcache_insert_fd(pcp, pdp, nfds); in pcache_grow_hashtbl()
1173 pdp = pdp1; in pcache_grow_hashtbl()
1218 polldat_t *pdp; in pcache_clean() local
1223 for (pdp = hashtbl[i]; pdp; pdp = pdp->pd_hashnext) { in pcache_clean()
1224 if (pdp->pd_php != NULL) { in pcache_clean()
1225 pollhead_delete(pdp->pd_php, pdp); in pcache_clean()
1226 pdp->pd_php = NULL; in pcache_clean()
1228 if (pdp->pd_fp != NULL) { in pcache_clean()
1229 delfpollinfo(pdp->pd_fd); in pcache_clean()
1230 pdp->pd_fp = NULL; in pcache_clean()
1237 pcacheset_invalidate(pollstate_t *ps, polldat_t *pdp) in pcacheset_invalidate() argument
1240 int fd = pdp->pd_fd; in pcacheset_invalidate()
1245 ASSERT(pdp->pd_fp == NULL); in pcacheset_invalidate()
1247 pdp->pd_events = 0; in pcacheset_invalidate()
1252 ASSERT(pdp->pd_ref != NULL); in pcacheset_invalidate()
1253 refp = &pdp->pd_ref[i]; in pcacheset_invalidate()
1260 pdp->pd_count--; in pcacheset_invalidate()
1272 pdp->pd_count--; in pcacheset_invalidate()
1280 ASSERT(pdp->pd_count == 0); in pcacheset_invalidate()
1294 polldat_t *pdp; in pcache_insert() local
1328 pdp = pcache_lookup_fd(pcp, fd); in pcache_insert()
1329 if (pdp == NULL) { in pcache_insert()
1331 pdp = pcache_alloc_fd(ps->ps_nsets); in pcache_insert()
1338 if ((pdp->pd_count > 0) && (pdp->pd_fp == NULL)) { in pcache_insert()
1339 pcacheset_invalidate(ps, pdp); in pcache_insert()
1340 ASSERT(pdp->pd_next == NULL); in pcache_insert()
1342 if (pdp->pd_count == 0) { in pcache_insert()
1343 pdp->pd_fd = fd; in pcache_insert()
1344 pdp->pd_fp = fp; in pcache_insert()
1346 pdp->pd_thread = curthread; in pcache_insert()
1347 pdp->pd_pcache = pcp; in pcache_insert()
1352 ASSERT(pdp->pd_next == NULL); in pcache_insert()
1363 ASSERT(pdp->pd_fp == fp); in pcache_insert()
1373 pdp->pd_events |= pollfdp->events; in pcache_insert()
1375 pdp->pd_count++; in pcache_insert()
1386 ASSERT(pdp->pd_ref != NULL); in pcache_insert()
1387 refp = &pdp->pd_ref[which]; in pcache_insert()
1407 pcache_insert_fd(ps->ps_pcache, pdp, ps->ps_nfds); in pcache_insert()
1410 if (pdp->pd_php == NULL) { in pcache_insert()
1411 pollhead_insert(memphp, pdp); in pcache_insert()
1412 pdp->pd_php = memphp; in pcache_insert()
1414 if (memphp != pdp->pd_php) { in pcache_insert()
1420 pollhead_delete(pdp->pd_php, pdp); in pcache_insert()
1421 pollhead_insert(memphp, pdp); in pcache_insert()
1422 pdp->pd_php = memphp; in pcache_insert()
1449 polldat_t *pdp; in pcache_delete_fd() local
1455 pdp = pcache_lookup_fd(pcp, fd); in pcache_delete_fd()
1456 ASSERT(pdp != NULL); in pcache_delete_fd()
1457 ASSERT(pdp->pd_count > 0); in pcache_delete_fd()
1458 ASSERT(pdp->pd_ref != NULL); in pcache_delete_fd()
1459 refp = &pdp->pd_ref[which]; in pcache_delete_fd()
1460 if (pdp->pd_count == 1) { in pcache_delete_fd()
1461 pdp->pd_events = 0; in pcache_delete_fd()
1465 if (pdp->pd_php) { in pcache_delete_fd()
1472 pollhead_delete(pdp->pd_php, pdp); in pcache_delete_fd()
1473 pdp->pd_php = NULL; in pcache_delete_fd()
1475 pdp->pd_count = 0; in pcache_delete_fd()
1476 if (pdp->pd_fp != NULL) { in pcache_delete_fd()
1477 pdp->pd_fp = NULL; in pcache_delete_fd()
1491 pcacheset_invalidate(ps, pdp); in pcache_delete_fd()
1492 ASSERT(pdp->pd_php == NULL); in pcache_delete_fd()
1504 pdp->pd_count--; in pcache_delete_fd()
1527 polldat_t *pdp; in pcache_update_xref() local
1529 pdp = pcache_lookup_fd(pcp, fd); in pcache_update_xref()
1530 ASSERT(pdp != NULL); in pcache_update_xref()
1531 ASSERT(pdp->pd_ref != NULL); in pcache_update_xref()
1532 pdp->pd_ref[which].xf_position = pos; in pcache_update_xref()
1546 polldat_t *pdp; in pollchecksanity() local
1561 pdp = pcache_lookup_fd(pcp, fd); in pollchecksanity()
1562 ASSERT(pdp != NULL); in pollchecksanity()
1564 ASSERT(pdp->pd_fp == fp); in pollchecksanity()
1568 if (pdp->pd_php == NULL) in pollchecksanity()
1911 polldat_t *pdp; in pcache_poll() local
1946 pdp = pcache_lookup_fd(pcp, fd); in pcache_poll()
1947 ASSERT(pdp != NULL); in pcache_poll()
1948 ASSERT(pdp->pd_ref != NULL); in pcache_poll()
1949 refp = &pdp->pd_ref[which]; in pcache_poll()
1963 if (pdp->pd_fp == NULL) { in pcache_poll()
1964 ASSERT(pdp->pd_count > 0); in pcache_poll()
1980 pcacheset_invalidate(ps, pdp); in pcache_poll()
2006 ASSERT(pdp->pd_fp == fp); in pcache_poll()
2012 ASSERT(pdp->pd_php == NULL || in pcache_poll()
2013 MUTEX_NOT_HELD(PHLOCK(pdp->pd_php))); in pcache_poll()
2045 if (php != NULL && pdp->pd_php != NULL && in pcache_poll()
2046 php != pdp->pd_php) { in pcache_poll()
2048 pollhead_delete(pdp->pd_php, pdp); in pcache_poll()
2049 pdp->pd_php = php; in pcache_poll()
2050 pollhead_insert(php, pdp); in pcache_poll()
2070 error = plist_chkdupfd(fp, pdp, ps, in pcache_poll()
2091 if ((pdp->pd_php != NULL) && in pcache_poll()
2092 (pollfdp[entry].events == pdp->pd_events) && in pcache_poll()
2100 if ((pdp->pd_php == NULL) && (php != NULL)) { in pcache_poll()
2101 pdp->pd_php = php; in pcache_poll()
2102 pollhead_insert(php, pdp); in pcache_poll()
2119 error = plist_chkdupfd(fp, pdp, ps, in pcache_poll()
2232 polldat_t *pdp; in pcache_clean_entry() local
2239 pdp = pcache_lookup_fd(pcp, fd); in pcache_clean_entry()
2240 ASSERT(pdp != NULL); in pcache_clean_entry()
2245 pdp->pd_fp = NULL; in pcache_clean_entry()
2254 ASSERT(pdp->pd_ref != NULL); in pcache_clean_entry()
2259 refp = &pdp->pd_ref[i]; in pcache_clean_entry()
2282 if (pdp->pd_php) { in pcache_clean_entry()
2283 pollwakeup(pdp->pd_php, POLLHUP); in pcache_clean_entry()
2284 pollhead_delete(pdp->pd_php, pdp); in pcache_clean_entry()
2285 pdp->pd_php = NULL; in pcache_clean_entry()
2648 polldat_t *pdp; in pollhead_clean() local
2660 pdp = php->ph_list; in pollhead_clean()
2661 ASSERT(pdp->pd_php == php); in pollhead_clean()
2662 if (pdp->pd_thread == NULL) { in pollhead_clean()
2668 php->ph_list = pdp->pd_next; in pollhead_clean()
2669 pdp->pd_php = NULL; in pollhead_clean()
2670 pdp->pd_next = NULL; in pollhead_clean()
2673 ps = pdp->pd_thread->t_pollstate; in pollhead_clean()
2675 pcp = pdp->pd_pcache; in pollhead_clean()
2690 if (pdp->pd_php == php) { in pollhead_clean()
2691 ASSERT(pdp == php->ph_list); in pollhead_clean()
2692 php->ph_list = pdp->pd_next; in pollhead_clean()
2693 pdp->pd_php = NULL; in pollhead_clean()
2694 pdp->pd_next = NULL; in pollhead_clean()
2761 polldat_t *pdp; in pollcheckphlist() local
2769 pdp = stp->sd_pollist.ph_list; in pollcheckphlist()
2770 while (pdp) { in pollcheckphlist()
2771 ASSERT(pdp->pd_thread != curthread); in pollcheckphlist()
2772 pdp = pdp->pd_next; in pollcheckphlist()
2791 polldat_t *pdp; in pollcheckxref() local
2799 pdp = pcache_lookup_fd(pcp, pollfdp[i].fd); in pollcheckxref()
2800 ASSERT(pdp != NULL); in pollcheckxref()
2801 ASSERT(pdp->pd_ref != NULL); in pollcheckxref()
2802 refp = &pdp->pd_ref[cacheindex]; in pollcheckxref()
2805 ASSERT(pollfdp[refp->xf_position].fd == pdp->pd_fd); in pollcheckxref()
2813 if (pollfdp[j].fd == pdp->pd_fd) { in pollcheckxref()
2837 polldat_t *pdp; in checkpolldat() local
2839 for (pdp = hashtbl[i]; pdp; pdp = pdp->pd_hashnext) { in checkpolldat()
2840 ASSERT(pdp->pd_ref != NULL); in checkpolldat()
2841 if (pdp->pd_count > 0) { in checkpolldat()
2848 refp = &pdp->pd_ref[j]; in checkpolldat()
2853 ASSERT(pdp->pd_fd == pollfd[refp->xf_position].fd); in checkpolldat()
2869 polldat_t *pdp; in checkwfdlist() local
2876 for (pdp = stp->sd_pollist.ph_list; pdp; pdp = pdp->pd_next) { in checkwfdlist()
2877 if (pdp->pd_thread != NULL && in checkwfdlist()
2878 pdp->pd_thread->t_procp == curthread->t_procp) { in checkwfdlist()
2880 if (pdp->pd_thread == fpip2->fp_thread) { in checkwfdlist()
2902 polldat_t *pdp; in pollcheckrevents() local
2905 pdp = pcache_lookup_fd(pcp, i); in pollcheckrevents()
2906 if (pdp && pdp->pd_fp != NULL) { in pollcheckrevents()
2910 ASSERT(pdp->pd_ref != NULL); in pollcheckrevents()
2911 refp = &pdp->pd_ref[cacheindex]; in pollcheckrevents()
2979 polldat_t *pdp, *pdp2; in pcache_destroy() local
2981 pdp = hashtbl[i]; in pcache_destroy()
2982 while (pdp != NULL) { in pcache_destroy()
2983 pdp2 = pdp->pd_hashnext; in pcache_destroy()
2984 if (pdp->pd_ref != NULL) { in pcache_destroy()
2985 kmem_free(pdp->pd_ref, sizeof (xref_t) * in pcache_destroy()
2986 pdp->pd_nsets); in pcache_destroy()
2988 kmem_free(pdp, sizeof (polldat_t)); in pcache_destroy()
2989 pdp = pdp2; in pcache_destroy()
3034 plist_chkdupfd(file_t *fp, polldat_t *pdp, pollstate_t *psp, pollfd_t *pollfdp, in plist_chkdupfd() argument
3072 if (php != NULL && pdp->pd_php != NULL && in plist_chkdupfd()
3073 php != pdp->pd_php) { in plist_chkdupfd()
3074 pollhead_delete(pdp->pd_php, pdp); in plist_chkdupfd()
3075 pdp->pd_php = php; in plist_chkdupfd()
3076 pollhead_insert(php, pdp); in plist_chkdupfd()