Lines Matching refs:vsock
32 struct vsock_loopback *vsock = &the_vsock_loopback; in vsock_loopback_send_pkt() local
35 spin_lock_bh(&vsock->pkt_list_lock); in vsock_loopback_send_pkt()
36 list_add_tail(&pkt->list, &vsock->pkt_list); in vsock_loopback_send_pkt()
37 spin_unlock_bh(&vsock->pkt_list_lock); in vsock_loopback_send_pkt()
39 queue_work(vsock->workqueue, &vsock->pkt_work); in vsock_loopback_send_pkt()
46 struct vsock_loopback *vsock = &the_vsock_loopback; in vsock_loopback_cancel_pkt() local
50 spin_lock_bh(&vsock->pkt_list_lock); in vsock_loopback_cancel_pkt()
51 list_for_each_entry_safe(pkt, n, &vsock->pkt_list, list) { in vsock_loopback_cancel_pkt()
56 spin_unlock_bh(&vsock->pkt_list_lock); in vsock_loopback_cancel_pkt()
110 struct vsock_loopback *vsock = in vsock_loopback_work() local
114 spin_lock_bh(&vsock->pkt_list_lock); in vsock_loopback_work()
115 list_splice_init(&vsock->pkt_list, &pkts); in vsock_loopback_work()
116 spin_unlock_bh(&vsock->pkt_list_lock); in vsock_loopback_work()
131 struct vsock_loopback *vsock = &the_vsock_loopback; in vsock_loopback_init() local
134 vsock->workqueue = alloc_workqueue("vsock-loopback", 0, 0); in vsock_loopback_init()
135 if (!vsock->workqueue) in vsock_loopback_init()
138 spin_lock_init(&vsock->pkt_list_lock); in vsock_loopback_init()
139 INIT_LIST_HEAD(&vsock->pkt_list); in vsock_loopback_init()
140 INIT_WORK(&vsock->pkt_work, vsock_loopback_work); in vsock_loopback_init()
150 destroy_workqueue(vsock->workqueue); in vsock_loopback_init()
156 struct vsock_loopback *vsock = &the_vsock_loopback; in vsock_loopback_exit() local
161 flush_work(&vsock->pkt_work); in vsock_loopback_exit()
163 spin_lock_bh(&vsock->pkt_list_lock); in vsock_loopback_exit()
164 while (!list_empty(&vsock->pkt_list)) { in vsock_loopback_exit()
165 pkt = list_first_entry(&vsock->pkt_list, in vsock_loopback_exit()
170 spin_unlock_bh(&vsock->pkt_list_lock); in vsock_loopback_exit()
172 destroy_workqueue(vsock->workqueue); in vsock_loopback_exit()