Lines Matching refs:pipe

152 static void     transmit_event(struct dn_pipe *pipe, struct mbuf **head,
499 pipe_bp->fs.pipe = (user32_addr_t)0; in cp_pipe_to_32_user()
541 pipe_bp->fs.pipe = USER_ADDR_NULL; in cp_pipe_to_64_user()
736 transmit_event(struct dn_pipe *pipe, struct mbuf **head, struct mbuf **tail) in transmit_event() argument
745 while ((m = pipe->head) != NULL) { in transmit_event()
751 pipe->head = m->m_nextpkt; in transmit_event()
769 if ((m = pipe->head) != NULL) { in transmit_event()
774 heap_insert(&extract_heap, schedule_time, pipe); in transmit_event()
830 struct dn_pipe *p = q->fs->pipe; in ready_event()
1066 struct dn_pipe *pipe = p; in dummynet() local
1067 if (pipe->if_name[0] != '\0') { in dummynet()
1069 pipe->if_name); in dummynet()
1484 struct dn_pipe *pipe; in locate_pipe() local
1486 SLIST_FOREACH(pipe, &pipehash[HASH(pipe_nr)], next) { in locate_pipe()
1487 if (pipe->pipe_nr == pipe_nr) { in locate_pipe()
1488 return pipe; in locate_pipe()
1520 struct dn_pipe *pipe; in dummynet_io() local
1550 pipe = locate_pipe(pipe_nr); in dummynet_io()
1551 if (pipe != NULL) { in dummynet_io()
1552 fs = &(pipe->fs); in dummynet_io()
1562 pipe = fs->pipe; in dummynet_io()
1563 if (pipe == NULL) { /* must be a queue, try find a matching pipe */ in dummynet_io()
1564 pipe = locate_pipe(fs->parent_nr); in dummynet_io()
1566 if (pipe != NULL) { in dummynet_io()
1567 fs->pipe = pipe; in dummynet_io()
1687 if (pipe->bandwidth) { in dummynet_io()
1688 t = SET_TICKS(m, q, pipe); in dummynet_io()
1707 q->S = pipe->V; in dummynet_io()
1708 pipe->sum += fs->weight; /* add weight of new queue */ in dummynet_io()
1710 heap_extract(&(pipe->idle_heap), q); in dummynet_io()
1711 q->S = MAX64(q->F, pipe->V ); in dummynet_io()
1715 if (pipe->not_eligible_heap.elements == 0 && in dummynet_io()
1716 pipe->scheduler_heap.elements == 0) { in dummynet_io()
1717 pipe->V = MAX64( q->S, pipe->V ); in dummynet_io()
1733 if (DN_KEY_GT(q->S, pipe->V)) { /* not eligible */ in dummynet_io()
1734 if (pipe->scheduler_heap.elements == 0) { in dummynet_io()
1737 heap_insert(&(pipe->not_eligible_heap), q->S, q); in dummynet_io()
1739 heap_insert(&(pipe->scheduler_heap), q->F, q); in dummynet_io()
1740 if (pipe->numbytes >= 0) { /* pipe is idle */ in dummynet_io()
1741 if (pipe->scheduler_heap.elements != 1) { in dummynet_io()
1745 pipe->pipe_nr, (int)(q->F >> MY_M))); in dummynet_io()
1746 pipe->sched_time = curr_time; in dummynet_io()
1747 ready_event_wfq(pipe, &head, &tail); in dummynet_io()
1827 if (fs->pipe && fs != &(fs->pipe->fs)) { in purge_flow_set()
1839 purge_pipe(struct dn_pipe *pipe) in purge_pipe() argument
1843 purge_flow_set( &(pipe->fs), 1 ); in purge_pipe()
1845 mnext = pipe->head; in purge_pipe()
1851 heap_free( &(pipe->scheduler_heap)); in purge_pipe()
1852 heap_free( &(pipe->not_eligible_heap)); in purge_pipe()
1853 heap_free( &(pipe->idle_heap)); in purge_pipe()
1862 struct dn_pipe *pipe, *pipe1; in dummynet_flush() local
1886 SLIST_FOREACH_SAFE(pipe, &pipehash[i], next, pipe1) { in dummynet_flush()
1887 SLIST_REMOVE(&pipehash[i], pipe, dn_pipe, next); in dummynet_flush()
1888 purge_pipe(pipe); in dummynet_flush()
1889 kfree_type(struct dn_pipe, pipe); in dummynet_flush()
2046 x->fs.pipe = x; in config_pipe()
2266 if (fs->pipe == b) { in delete_pipe()
2269 fs->pipe = NULL; in delete_pipe()
2298 if (b->pipe != NULL) { in delete_pipe()
2300 b->pipe->sum -= b->weight * b->backlogged; in delete_pipe()
2301 fs_remove_from_heap(&(b->pipe->not_eligible_heap), b); in delete_pipe()
2302 fs_remove_from_heap(&(b->pipe->scheduler_heap), b); in delete_pipe()
2304 fs_remove_from_heap(&(b->pipe->idle_heap), b); in delete_pipe()
2492 fs_bp->pipe = USER_ADDR_NULL; in dummynet_get()