Lines Matching refs:pipe_buffer
582 cnt = cpipe->pipe_buffer.cnt; in pipespace_new()
591 if (cpipe->pipe_buffer.buffer == NULL && in pipespace_new()
604 if (cpipe->pipe_buffer.buffer == NULL && in pipespace_new()
617 if (cpipe->pipe_buffer.buffer == NULL && in pipespace_new()
623 if (cpipe->pipe_buffer.buffer == NULL) { in pipespace_new()
635 if (cpipe->pipe_buffer.in <= cpipe->pipe_buffer.out) { in pipespace_new()
636 firstseg = cpipe->pipe_buffer.size - cpipe->pipe_buffer.out; in pipespace_new()
637 bcopy(&cpipe->pipe_buffer.buffer[cpipe->pipe_buffer.out], in pipespace_new()
640 bcopy(cpipe->pipe_buffer.buffer, &buffer[firstseg], in pipespace_new()
641 cpipe->pipe_buffer.in); in pipespace_new()
643 bcopy(&cpipe->pipe_buffer.buffer[cpipe->pipe_buffer.out], in pipespace_new()
648 cpipe->pipe_buffer.buffer = buffer; in pipespace_new()
649 cpipe->pipe_buffer.size = size; in pipespace_new()
650 cpipe->pipe_buffer.in = cnt; in pipespace_new()
651 cpipe->pipe_buffer.out = 0; in pipespace_new()
652 cpipe->pipe_buffer.cnt = cnt; in pipespace_new()
653 atomic_add_long(&amountpipekva, cpipe->pipe_buffer.size); in pipespace_new()
771 atomic_load_int(&rpipe->pipe_buffer.cnt) == 0 && in pipe_read()
789 rpipe->pipe_buffer.size > SMALL_PIPE_SIZE && in pipe_read()
790 rpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE && in pipe_read()
802 if (rpipe->pipe_buffer.cnt > 0) { in pipe_read()
803 size = rpipe->pipe_buffer.size - rpipe->pipe_buffer.out; in pipe_read()
804 if (size > rpipe->pipe_buffer.cnt) in pipe_read()
805 size = rpipe->pipe_buffer.cnt; in pipe_read()
811 &rpipe->pipe_buffer.buffer[rpipe->pipe_buffer.out], in pipe_read()
817 rpipe->pipe_buffer.out += size; in pipe_read()
818 if (rpipe->pipe_buffer.out >= rpipe->pipe_buffer.size) in pipe_read()
819 rpipe->pipe_buffer.out = 0; in pipe_read()
821 rpipe->pipe_buffer.cnt -= size; in pipe_read()
828 if (rpipe->pipe_buffer.cnt == 0) { in pipe_read()
829 rpipe->pipe_buffer.in = 0; in pipe_read()
830 rpipe->pipe_buffer.out = 0; in pipe_read()
917 } else if (rpipe->pipe_buffer.cnt < MINPIPESIZE) { in pipe_read()
932 rpipe->pipe_buffer.size - rpipe->pipe_buffer.cnt >= PIPE_BUF) in pipe_read()
958 if (uio->uio_iov->iov_len > wpipe->pipe_buffer.size) in pipe_build_write_buffer()
959 size = wpipe->pipe_buffer.size; in pipe_build_write_buffer()
1029 wpipe->pipe_buffer.in = size; in pipe_clone_write_buffer()
1030 wpipe->pipe_buffer.out = 0; in pipe_clone_write_buffer()
1031 wpipe->pipe_buffer.cnt = size; in pipe_clone_write_buffer()
1034 iov.iov_base = wpipe->pipe_buffer.buffer; in pipe_clone_write_buffer()
1081 if (wpipe->pipe_buffer.cnt > 0) { in pipe_direct_write()
1174 desiredsize = max(SMALL_PIPE_SIZE, wpipe->pipe_buffer.size); in pipe_write()
1175 while (desiredsize < wpipe->pipe_buffer.cnt + uio->uio_resid) { in pipe_write()
1187 wpipe->pipe_buffer.size > SMALL_PIPE_SIZE && in pipe_write()
1188 wpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE && in pipe_write()
1193 if (desiredsize != wpipe->pipe_buffer.size && in pipe_write()
1199 MPASS(wpipe->pipe_buffer.size != 0); in pipe_write()
1222 wpipe->pipe_buffer.size >= pipe_mindirect && in pipe_write()
1254 space = wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt; in pipe_write()
1279 segsize = wpipe->pipe_buffer.size - in pipe_write()
1280 wpipe->pipe_buffer.in; in pipe_write()
1287 error = uiomove(&wpipe->pipe_buffer.buffer[wpipe->pipe_buffer.in], in pipe_write()
1292 KASSERT(wpipe->pipe_buffer.in + segsize == in pipe_write()
1293 wpipe->pipe_buffer.size, in pipe_write()
1303 &wpipe->pipe_buffer.buffer[0], in pipe_write()
1308 wpipe->pipe_buffer.in += size; in pipe_write()
1309 if (wpipe->pipe_buffer.in >= in pipe_write()
1310 wpipe->pipe_buffer.size) { in pipe_write()
1311 KASSERT(wpipe->pipe_buffer.in == in pipe_write()
1313 wpipe->pipe_buffer.size, in pipe_write()
1315 wpipe->pipe_buffer.in = size - segsize; in pipe_write()
1318 wpipe->pipe_buffer.cnt += size; in pipe_write()
1319 KASSERT(wpipe->pipe_buffer.cnt <= in pipe_write()
1320 wpipe->pipe_buffer.size, in pipe_write()
1365 } else if (wpipe->pipe_buffer.cnt > 0) { in pipe_write()
1392 if (wpipe->pipe_buffer.cnt) in pipe_write()
1460 *(int *)data = mpipe->pipe_buffer.cnt; in pipe_ioctl()
1513 if (rpipe->pipe_pages.cnt > 0 || rpipe->pipe_buffer.cnt > 0) in pipe_poll()
1520 ((wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt) >= PIPE_BUF || in pipe_poll()
1521 wpipe->pipe_buffer.size == 0))) in pipe_poll()
1601 ub->st_size = pipe->pipe_buffer.cnt; in pipe_stat()
1669 kif->kf_un.kf_pipe.kf_pipe_buffer_cnt = pi->pipe_buffer.cnt; in pipe_fill_kinfo()
1670 kif->kf_un.kf_pipe.kf_pipe_buffer_in = pi->pipe_buffer.in; in pipe_fill_kinfo()
1671 kif->kf_un.kf_pipe.kf_pipe_buffer_out = pi->pipe_buffer.out; in pipe_fill_kinfo()
1672 kif->kf_un.kf_pipe.kf_pipe_buffer_size = pi->pipe_buffer.size; in pipe_fill_kinfo()
1683 if (cpipe->pipe_buffer.buffer != NULL) { in pipe_free_kmem()
1684 atomic_subtract_long(&amountpipekva, cpipe->pipe_buffer.size); in pipe_free_kmem()
1686 -cpipe->pipe_buffer.size, 0); in pipe_free_kmem()
1688 (vm_offset_t)cpipe->pipe_buffer.buffer, in pipe_free_kmem()
1689 (vm_offset_t)cpipe->pipe_buffer.buffer + cpipe->pipe_buffer.size); in pipe_free_kmem()
1690 cpipe->pipe_buffer.buffer = NULL; in pipe_free_kmem()
1849 kn->kn_data = rpipe->pipe_buffer.cnt; in filt_piperead()
1879 } else if (wpipe->pipe_buffer.size > 0) { in filt_pipewrite()
1880 kn->kn_data = wpipe->pipe_buffer.size - in filt_pipewrite()
1881 wpipe->pipe_buffer.cnt; in filt_pipewrite()