Lines Matching refs:sb
322 struct sockbuf *sb; in soo_stat() local
328 sb = &so->so_rcv; in soo_stat()
329 SOCKBUF_LOCK(sb); in soo_stat()
330 if ((sb->sb_state & SBS_CANTRCVMORE) == 0 || sbavail(sb)) in soo_stat()
332 ub->st_size = sbavail(sb) - sb->sb_ctl; in soo_stat()
333 SOCKBUF_UNLOCK(sb); in soo_stat()
335 sb = &so->so_snd; in soo_stat()
336 SOCKBUF_LOCK(sb); in soo_stat()
337 if ((sb->sb_state & SBS_CANTSENDMORE) == 0) in soo_stat()
339 SOCKBUF_UNLOCK(sb); in soo_stat()
597 soaio_ready(struct socket *so, struct sockbuf *sb) in soaio_ready() argument
599 return (sb == &so->so_rcv ? soreadable(so) : sowriteable(so)); in soaio_ready()
603 soaio_process_job(struct socket *so, struct sockbuf *sb, struct kaiocb *job) in soaio_process_job() argument
612 SOCKBUF_UNLOCK(sb); in soaio_process_job()
633 if (sb == &so->so_rcv) { in soaio_process_job()
645 if (!TAILQ_EMPTY(&sb->sb_aiojobq)) in soaio_process_job()
678 SOCKBUF_LOCK(sb); in soaio_process_job()
681 if (soaio_ready(so, sb)) { in soaio_process_job()
683 SOCKBUF_UNLOCK(sb); in soaio_process_job()
688 SOCKBUF_UNLOCK(sb); in soaio_process_job()
693 SOCKBUF_LOCK(sb); in soaio_process_job()
695 TAILQ_INSERT_HEAD(&sb->sb_aiojobq, job, list); in soaio_process_job()
699 SOCKBUF_UNLOCK(sb); in soaio_process_job()
708 SOCKBUF_LOCK(sb); in soaio_process_job()
712 soaio_process_sb(struct socket *so, struct sockbuf *sb) in soaio_process_sb() argument
717 SOCKBUF_LOCK(sb); in soaio_process_sb()
718 while (!TAILQ_EMPTY(&sb->sb_aiojobq) && soaio_ready(so, sb)) { in soaio_process_sb()
719 job = TAILQ_FIRST(&sb->sb_aiojobq); in soaio_process_sb()
720 TAILQ_REMOVE(&sb->sb_aiojobq, job, list); in soaio_process_sb()
724 soaio_process_job(so, sb, job); in soaio_process_sb()
732 if (!TAILQ_EMPTY(&sb->sb_aiojobq)) in soaio_process_sb()
733 sb->sb_flags |= SB_AIO; in soaio_process_sb()
734 sb->sb_flags &= ~SB_AIO_RUNNING; in soaio_process_sb()
735 SOCKBUF_UNLOCK(sb); in soaio_process_sb()
761 sowakeup_aio(struct socket *so, struct sockbuf *sb) in sowakeup_aio() argument
764 SOCKBUF_LOCK_ASSERT(sb); in sowakeup_aio()
765 sb->sb_flags &= ~SB_AIO; in sowakeup_aio()
766 if (sb->sb_flags & SB_AIO_RUNNING) in sowakeup_aio()
768 sb->sb_flags |= SB_AIO_RUNNING; in sowakeup_aio()
770 soaio_enqueue(&sb->sb_aiotask); in sowakeup_aio()
777 struct sockbuf *sb; in soo_aio_cancel() local
784 sb = &so->so_rcv; in soo_aio_cancel()
787 sb = &so->so_snd; in soo_aio_cancel()
790 SOCKBUF_LOCK(sb); in soo_aio_cancel()
792 TAILQ_REMOVE(&sb->sb_aiojobq, job, list); in soo_aio_cancel()
793 if (TAILQ_EMPTY(&sb->sb_aiojobq)) in soo_aio_cancel()
794 sb->sb_flags &= ~SB_AIO; in soo_aio_cancel()
795 SOCKBUF_UNLOCK(sb); in soo_aio_cancel()
808 struct sockbuf *sb; in soo_aio_queue() local
818 sb = &so->so_rcv; in soo_aio_queue()
821 sb = &so->so_snd; in soo_aio_queue()
827 SOCKBUF_LOCK(sb); in soo_aio_queue()
830 TAILQ_INSERT_TAIL(&sb->sb_aiojobq, job, list); in soo_aio_queue()
831 if (!(sb->sb_flags & SB_AIO_RUNNING)) { in soo_aio_queue()
832 if (soaio_ready(so, sb)) in soo_aio_queue()
833 sowakeup_aio(so, sb); in soo_aio_queue()
835 sb->sb_flags |= SB_AIO; in soo_aio_queue()
837 SOCKBUF_UNLOCK(sb); in soo_aio_queue()