Lines Matching refs:vsk
23 #define PKT_FIELD(vsk, field_name) \ argument
24 (vmci_trans(vsk)->notify.pkt_q_state.field_name)
26 static bool vmci_transport_notify_waiting_write(struct vsock_sock *vsk) in vmci_transport_notify_waiting_write() argument
31 if (!PKT_FIELD(vsk, peer_waiting_write)) in vmci_transport_notify_waiting_write()
41 if (!PKT_FIELD(vsk, peer_waiting_write_detected)) { in vmci_transport_notify_waiting_write()
42 PKT_FIELD(vsk, peer_waiting_write_detected) = true; in vmci_transport_notify_waiting_write()
43 if (PKT_FIELD(vsk, write_notify_window) < PAGE_SIZE) { in vmci_transport_notify_waiting_write()
44 PKT_FIELD(vsk, write_notify_window) = in vmci_transport_notify_waiting_write()
45 PKT_FIELD(vsk, write_notify_min_window); in vmci_transport_notify_waiting_write()
47 PKT_FIELD(vsk, write_notify_window) -= PAGE_SIZE; in vmci_transport_notify_waiting_write()
48 if (PKT_FIELD(vsk, write_notify_window) < in vmci_transport_notify_waiting_write()
49 PKT_FIELD(vsk, write_notify_min_window)) in vmci_transport_notify_waiting_write()
50 PKT_FIELD(vsk, write_notify_window) = in vmci_transport_notify_waiting_write()
51 PKT_FIELD(vsk, write_notify_min_window); in vmci_transport_notify_waiting_write()
55 notify_limit = vmci_trans(vsk)->consume_size - in vmci_transport_notify_waiting_write()
56 PKT_FIELD(vsk, write_notify_window); in vmci_transport_notify_waiting_write()
67 retval = vmci_qpair_consume_free_space(vmci_trans(vsk)->qpair) > in vmci_transport_notify_waiting_write()
75 PKT_FIELD(vsk, peer_waiting_write_detected) = false; in vmci_transport_notify_waiting_write()
100 struct vsock_sock *vsk = vsock_sk(sk); in vsock_block_update_write_window() local
102 if (PKT_FIELD(vsk, write_notify_window) < vmci_trans(vsk)->consume_size) in vsock_block_update_write_window()
103 PKT_FIELD(vsk, write_notify_window) = in vsock_block_update_write_window()
104 min(PKT_FIELD(vsk, write_notify_window) + PAGE_SIZE, in vsock_block_update_write_window()
105 vmci_trans(vsk)->consume_size); in vsock_block_update_write_window()
110 struct vsock_sock *vsk; in vmci_transport_send_read_notification() local
115 vsk = vsock_sk(sk); in vmci_transport_send_read_notification()
120 if (vmci_transport_notify_waiting_write(vsk)) { in vmci_transport_send_read_notification()
128 while (!(vsk->peer_shutdown & RCV_SHUTDOWN) && in vmci_transport_send_read_notification()
142 PKT_FIELD(vsk, peer_waiting_write) = false; in vmci_transport_send_read_notification()
150 struct vsock_sock *vsk = vsock_sk(sk); in vmci_transport_notify_pkt_socket_init() local
152 PKT_FIELD(vsk, write_notify_window) = PAGE_SIZE; in vmci_transport_notify_pkt_socket_init()
153 PKT_FIELD(vsk, write_notify_min_window) = PAGE_SIZE; in vmci_transport_notify_pkt_socket_init()
154 PKT_FIELD(vsk, peer_waiting_write) = false; in vmci_transport_notify_pkt_socket_init()
155 PKT_FIELD(vsk, peer_waiting_write_detected) = false; in vmci_transport_notify_pkt_socket_init()
158 static void vmci_transport_notify_pkt_socket_destruct(struct vsock_sock *vsk) in vmci_transport_notify_pkt_socket_destruct() argument
160 PKT_FIELD(vsk, write_notify_window) = PAGE_SIZE; in vmci_transport_notify_pkt_socket_destruct()
161 PKT_FIELD(vsk, write_notify_min_window) = PAGE_SIZE; in vmci_transport_notify_pkt_socket_destruct()
162 PKT_FIELD(vsk, peer_waiting_write) = false; in vmci_transport_notify_pkt_socket_destruct()
163 PKT_FIELD(vsk, peer_waiting_write_detected) = false; in vmci_transport_notify_pkt_socket_destruct()
170 struct vsock_sock *vsk = vsock_sk(sk); in vmci_transport_notify_pkt_poll_in() local
172 if (vsock_stream_has_data(vsk)) { in vmci_transport_notify_pkt_poll_in()
192 struct vsock_sock *vsk = vsock_sk(sk); in vmci_transport_notify_pkt_poll_out() local
194 produce_q_free_space = vsock_stream_has_space(vsk); in vmci_transport_notify_pkt_poll_out()
214 struct vsock_sock *vsk = vsock_sk(sk); in vmci_transport_notify_pkt_recv_init() local
220 if (PKT_FIELD(vsk, write_notify_min_window) < target + 1) { in vmci_transport_notify_pkt_recv_init()
221 PKT_FIELD(vsk, write_notify_min_window) = target + 1; in vmci_transport_notify_pkt_recv_init()
222 if (PKT_FIELD(vsk, write_notify_window) < in vmci_transport_notify_pkt_recv_init()
223 PKT_FIELD(vsk, write_notify_min_window)) { in vmci_transport_notify_pkt_recv_init()
231 PKT_FIELD(vsk, write_notify_window) = in vmci_transport_notify_pkt_recv_init()
232 PKT_FIELD(vsk, write_notify_min_window); in vmci_transport_notify_pkt_recv_init()
268 struct vsock_sock *vsk; in vmci_transport_notify_pkt_recv_post_dequeue() local
273 vsk = vsock_sk(sk); in vmci_transport_notify_pkt_recv_post_dequeue()
280 vmci_qpair_consume_free_space(vmci_trans(vsk)->qpair); in vmci_transport_notify_pkt_recv_post_dequeue()
284 PKT_FIELD(vsk, peer_waiting_write) = true; in vmci_transport_notify_pkt_recv_post_dequeue()
317 struct vsock_sock *vsk; in vmci_transport_notify_pkt_send_post_enqueue() local
322 vsk = vsock_sk(sk); in vmci_transport_notify_pkt_send_post_enqueue()
327 vmci_qpair_produce_buf_ready(vmci_trans(vsk)->qpair) == written; in vmci_transport_notify_pkt_send_post_enqueue()
329 while (!(vsk->peer_shutdown & RCV_SHUTDOWN) && in vmci_transport_notify_pkt_send_post_enqueue()
376 struct vsock_sock *vsk = vsock_sk(sk); in vmci_transport_notify_pkt_process_request() local
378 PKT_FIELD(vsk, write_notify_window) = vmci_trans(vsk)->consume_size; in vmci_transport_notify_pkt_process_request()
379 if (vmci_trans(vsk)->consume_size < in vmci_transport_notify_pkt_process_request()
380 PKT_FIELD(vsk, write_notify_min_window)) in vmci_transport_notify_pkt_process_request()
381 PKT_FIELD(vsk, write_notify_min_window) = in vmci_transport_notify_pkt_process_request()
382 vmci_trans(vsk)->consume_size; in vmci_transport_notify_pkt_process_request()
387 struct vsock_sock *vsk = vsock_sk(sk); in vmci_transport_notify_pkt_process_negotiate() local
389 PKT_FIELD(vsk, write_notify_window) = vmci_trans(vsk)->consume_size; in vmci_transport_notify_pkt_process_negotiate()
390 if (vmci_trans(vsk)->consume_size < in vmci_transport_notify_pkt_process_negotiate()
391 PKT_FIELD(vsk, write_notify_min_window)) in vmci_transport_notify_pkt_process_negotiate()
392 PKT_FIELD(vsk, write_notify_min_window) = in vmci_transport_notify_pkt_process_negotiate()
393 vmci_trans(vsk)->consume_size; in vmci_transport_notify_pkt_process_negotiate()