Lines Matching refs:pipe_buffer
578 cnt = cpipe->pipe_buffer.cnt; in pipespace_new()
587 if (cpipe->pipe_buffer.buffer == NULL && in pipespace_new()
600 if (cpipe->pipe_buffer.buffer == NULL && in pipespace_new()
613 if (cpipe->pipe_buffer.buffer == NULL && in pipespace_new()
619 if (cpipe->pipe_buffer.buffer == NULL) { in pipespace_new()
631 if (cpipe->pipe_buffer.in <= cpipe->pipe_buffer.out) { in pipespace_new()
632 firstseg = cpipe->pipe_buffer.size - cpipe->pipe_buffer.out; in pipespace_new()
633 bcopy(&cpipe->pipe_buffer.buffer[cpipe->pipe_buffer.out], in pipespace_new()
636 bcopy(cpipe->pipe_buffer.buffer, &buffer[firstseg], in pipespace_new()
637 cpipe->pipe_buffer.in); in pipespace_new()
639 bcopy(&cpipe->pipe_buffer.buffer[cpipe->pipe_buffer.out], in pipespace_new()
644 cpipe->pipe_buffer.buffer = buffer; in pipespace_new()
645 cpipe->pipe_buffer.size = size; in pipespace_new()
646 cpipe->pipe_buffer.in = cnt; in pipespace_new()
647 cpipe->pipe_buffer.out = 0; in pipespace_new()
648 cpipe->pipe_buffer.cnt = cnt; in pipespace_new()
649 atomic_add_long(&amountpipekva, cpipe->pipe_buffer.size); in pipespace_new()
767 atomic_load_int(&rpipe->pipe_buffer.cnt) == 0 && in pipe_read()
785 rpipe->pipe_buffer.size > SMALL_PIPE_SIZE && in pipe_read()
786 rpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE && in pipe_read()
798 if (rpipe->pipe_buffer.cnt > 0) { in pipe_read()
799 size = rpipe->pipe_buffer.size - rpipe->pipe_buffer.out; in pipe_read()
800 if (size > rpipe->pipe_buffer.cnt) in pipe_read()
801 size = rpipe->pipe_buffer.cnt; in pipe_read()
807 &rpipe->pipe_buffer.buffer[rpipe->pipe_buffer.out], in pipe_read()
813 rpipe->pipe_buffer.out += size; in pipe_read()
814 if (rpipe->pipe_buffer.out >= rpipe->pipe_buffer.size) in pipe_read()
815 rpipe->pipe_buffer.out = 0; in pipe_read()
817 rpipe->pipe_buffer.cnt -= size; in pipe_read()
824 if (rpipe->pipe_buffer.cnt == 0) { in pipe_read()
825 rpipe->pipe_buffer.in = 0; in pipe_read()
826 rpipe->pipe_buffer.out = 0; in pipe_read()
913 } else if (rpipe->pipe_buffer.cnt < MINPIPESIZE) { in pipe_read()
928 rpipe->pipe_buffer.size - rpipe->pipe_buffer.cnt >= PIPE_BUF) in pipe_read()
954 if (uio->uio_iov->iov_len > wpipe->pipe_buffer.size) in pipe_build_write_buffer()
955 size = wpipe->pipe_buffer.size; in pipe_build_write_buffer()
1025 wpipe->pipe_buffer.in = size; in pipe_clone_write_buffer()
1026 wpipe->pipe_buffer.out = 0; in pipe_clone_write_buffer()
1027 wpipe->pipe_buffer.cnt = size; in pipe_clone_write_buffer()
1030 iov.iov_base = wpipe->pipe_buffer.buffer; in pipe_clone_write_buffer()
1077 if (wpipe->pipe_buffer.cnt > 0) { in pipe_direct_write()
1170 desiredsize = max(SMALL_PIPE_SIZE, wpipe->pipe_buffer.size); in pipe_write()
1171 while (desiredsize < wpipe->pipe_buffer.cnt + uio->uio_resid) { in pipe_write()
1183 wpipe->pipe_buffer.size > SMALL_PIPE_SIZE && in pipe_write()
1184 wpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE && in pipe_write()
1189 if (desiredsize != wpipe->pipe_buffer.size && in pipe_write()
1195 MPASS(wpipe->pipe_buffer.size != 0); in pipe_write()
1218 wpipe->pipe_buffer.size >= pipe_mindirect && in pipe_write()
1250 space = wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt; in pipe_write()
1275 segsize = wpipe->pipe_buffer.size - in pipe_write()
1276 wpipe->pipe_buffer.in; in pipe_write()
1283 error = uiomove(&wpipe->pipe_buffer.buffer[wpipe->pipe_buffer.in], in pipe_write()
1288 KASSERT(wpipe->pipe_buffer.in + segsize == in pipe_write()
1289 wpipe->pipe_buffer.size, in pipe_write()
1299 &wpipe->pipe_buffer.buffer[0], in pipe_write()
1304 wpipe->pipe_buffer.in += size; in pipe_write()
1305 if (wpipe->pipe_buffer.in >= in pipe_write()
1306 wpipe->pipe_buffer.size) { in pipe_write()
1307 KASSERT(wpipe->pipe_buffer.in == in pipe_write()
1309 wpipe->pipe_buffer.size, in pipe_write()
1311 wpipe->pipe_buffer.in = size - segsize; in pipe_write()
1314 wpipe->pipe_buffer.cnt += size; in pipe_write()
1315 KASSERT(wpipe->pipe_buffer.cnt <= in pipe_write()
1316 wpipe->pipe_buffer.size, in pipe_write()
1361 } else if (wpipe->pipe_buffer.cnt > 0) { in pipe_write()
1388 if (wpipe->pipe_buffer.cnt) in pipe_write()
1456 *(int *)data = mpipe->pipe_buffer.cnt; in pipe_ioctl()
1509 if (rpipe->pipe_pages.cnt > 0 || rpipe->pipe_buffer.cnt > 0) in pipe_poll()
1516 ((wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt) >= PIPE_BUF || in pipe_poll()
1517 wpipe->pipe_buffer.size == 0))) in pipe_poll()
1597 ub->st_size = pipe->pipe_buffer.cnt; in pipe_stat()
1665 kif->kf_un.kf_pipe.kf_pipe_buffer_cnt = pi->pipe_buffer.cnt; in pipe_fill_kinfo()
1666 kif->kf_un.kf_pipe.kf_pipe_buffer_in = pi->pipe_buffer.in; in pipe_fill_kinfo()
1667 kif->kf_un.kf_pipe.kf_pipe_buffer_out = pi->pipe_buffer.out; in pipe_fill_kinfo()
1668 kif->kf_un.kf_pipe.kf_pipe_buffer_size = pi->pipe_buffer.size; in pipe_fill_kinfo()
1679 if (cpipe->pipe_buffer.buffer != NULL) { in pipe_free_kmem()
1680 atomic_subtract_long(&amountpipekva, cpipe->pipe_buffer.size); in pipe_free_kmem()
1682 -cpipe->pipe_buffer.size, 0); in pipe_free_kmem()
1684 (vm_offset_t)cpipe->pipe_buffer.buffer, in pipe_free_kmem()
1685 (vm_offset_t)cpipe->pipe_buffer.buffer + cpipe->pipe_buffer.size); in pipe_free_kmem()
1686 cpipe->pipe_buffer.buffer = NULL; in pipe_free_kmem()
1845 kn->kn_data = rpipe->pipe_buffer.cnt; in filt_piperead()
1875 } else if (wpipe->pipe_buffer.size > 0) { in filt_pipewrite()
1876 kn->kn_data = wpipe->pipe_buffer.size - in filt_pipewrite()
1877 wpipe->pipe_buffer.cnt; in filt_pipewrite()