• Home
  • Raw
  • Download

Lines Matching refs:xprt

160 xprt_rdma_format_addresses4(struct rpc_xprt *xprt, struct sockaddr *sap)  in xprt_rdma_format_addresses4()  argument
166 xprt->address_strings[RPC_DISPLAY_HEX_ADDR] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses4()
168 xprt->address_strings[RPC_DISPLAY_NETID] = RPCBIND_NETID_RDMA; in xprt_rdma_format_addresses4()
172 xprt_rdma_format_addresses6(struct rpc_xprt *xprt, struct sockaddr *sap) in xprt_rdma_format_addresses6() argument
178 xprt->address_strings[RPC_DISPLAY_HEX_ADDR] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses6()
180 xprt->address_strings[RPC_DISPLAY_NETID] = RPCBIND_NETID_RDMA6; in xprt_rdma_format_addresses6()
184 xprt_rdma_format_addresses(struct rpc_xprt *xprt, struct sockaddr *sap) in xprt_rdma_format_addresses() argument
190 xprt_rdma_format_addresses4(xprt, sap); in xprt_rdma_format_addresses()
193 xprt_rdma_format_addresses6(xprt, sap); in xprt_rdma_format_addresses()
201 xprt->address_strings[RPC_DISPLAY_ADDR] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses()
204 xprt->address_strings[RPC_DISPLAY_PORT] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses()
207 xprt->address_strings[RPC_DISPLAY_HEX_PORT] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses()
209 xprt->address_strings[RPC_DISPLAY_PROTO] = "rdma"; in xprt_rdma_format_addresses()
213 xprt_rdma_free_addresses(struct rpc_xprt *xprt) in xprt_rdma_free_addresses() argument
223 kfree(xprt->address_strings[i]); in xprt_rdma_free_addresses()
240 struct rpc_xprt *xprt = &r_xprt->rx_xprt; in xprt_rdma_connect_worker() local
244 xprt_clear_connecting(xprt); in xprt_rdma_connect_worker()
246 xprt->connect_cookie++; in xprt_rdma_connect_worker()
247 xprt->stat.connect_count++; in xprt_rdma_connect_worker()
248 xprt->stat.connect_time += (long)jiffies - in xprt_rdma_connect_worker()
249 xprt->stat.connect_start; in xprt_rdma_connect_worker()
250 xprt_set_connected(xprt); in xprt_rdma_connect_worker()
254 xprt_unlock_connect(xprt, r_xprt); in xprt_rdma_connect_worker()
255 xprt_wake_pending_tasks(xprt, rc); in xprt_rdma_connect_worker()
268 xprt_rdma_inject_disconnect(struct rpc_xprt *xprt) in xprt_rdma_inject_disconnect() argument
270 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_inject_disconnect()
284 xprt_rdma_destroy(struct rpc_xprt *xprt) in xprt_rdma_destroy() argument
286 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_destroy()
293 xprt_rdma_free_addresses(xprt); in xprt_rdma_destroy()
294 xprt_free(xprt); in xprt_rdma_destroy()
313 struct rpc_xprt *xprt; in xprt_setup_rdma() local
318 if (args->addrlen > sizeof(xprt->addr)) in xprt_setup_rdma()
324 xprt = xprt_alloc(args->net, sizeof(struct rpcrdma_xprt), 0, in xprt_setup_rdma()
326 if (!xprt) { in xprt_setup_rdma()
331 xprt->timeout = &xprt_rdma_default_timeout; in xprt_setup_rdma()
332 xprt->connect_timeout = xprt->timeout->to_initval; in xprt_setup_rdma()
333 xprt->max_reconnect_timeout = xprt->timeout->to_maxval; in xprt_setup_rdma()
334 xprt->bind_timeout = RPCRDMA_BIND_TO; in xprt_setup_rdma()
335 xprt->reestablish_timeout = RPCRDMA_INIT_REEST_TO; in xprt_setup_rdma()
336 xprt->idle_timeout = RPCRDMA_IDLE_DISC_TO; in xprt_setup_rdma()
338 xprt->resvport = 0; /* privileged port not needed */ in xprt_setup_rdma()
339 xprt->ops = &xprt_rdma_procs; in xprt_setup_rdma()
348 xprt->prot = IPPROTO_TCP; in xprt_setup_rdma()
349 xprt->addrlen = args->addrlen; in xprt_setup_rdma()
350 memcpy(&xprt->addr, sap, xprt->addrlen); in xprt_setup_rdma()
353 xprt_set_bound(xprt); in xprt_setup_rdma()
354 xprt_rdma_format_addresses(xprt, sap); in xprt_setup_rdma()
356 new_xprt = rpcx_to_rdmax(xprt); in xprt_setup_rdma()
359 xprt_rdma_free_addresses(xprt); in xprt_setup_rdma()
360 xprt_free(xprt); in xprt_setup_rdma()
368 xprt->max_payload = RPCRDMA_MAX_DATA_SEGS << PAGE_SHIFT; in xprt_setup_rdma()
370 return xprt; in xprt_setup_rdma()
382 void xprt_rdma_close(struct rpc_xprt *xprt) in xprt_rdma_close() argument
384 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_close()
388 xprt->reestablish_timeout = 0; in xprt_rdma_close()
389 ++xprt->connect_cookie; in xprt_rdma_close()
390 xprt_disconnect_done(xprt); in xprt_rdma_close()
401 xprt_rdma_set_port(struct rpc_xprt *xprt, u16 port) in xprt_rdma_set_port() argument
403 struct sockaddr *sap = (struct sockaddr *)&xprt->addr; in xprt_rdma_set_port()
408 kfree(xprt->address_strings[RPC_DISPLAY_PORT]); in xprt_rdma_set_port()
410 xprt->address_strings[RPC_DISPLAY_PORT] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_set_port()
412 kfree(xprt->address_strings[RPC_DISPLAY_HEX_PORT]); in xprt_rdma_set_port()
414 xprt->address_strings[RPC_DISPLAY_HEX_PORT] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_set_port()
431 xprt_rdma_timer(struct rpc_xprt *xprt, struct rpc_task *task) in xprt_rdma_timer() argument
433 xprt_force_disconnect(xprt); in xprt_rdma_timer()
443 static void xprt_rdma_set_connect_timeout(struct rpc_xprt *xprt, in xprt_rdma_set_connect_timeout() argument
447 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_set_connect_timeout()
451 spin_lock(&xprt->transport_lock); in xprt_rdma_set_connect_timeout()
453 if (connect_timeout < xprt->connect_timeout) { in xprt_rdma_set_connect_timeout()
457 to = *xprt->timeout; in xprt_rdma_set_connect_timeout()
464 xprt->timeout = &r_xprt->rx_timeout; in xprt_rdma_set_connect_timeout()
465 xprt->connect_timeout = connect_timeout; in xprt_rdma_set_connect_timeout()
468 if (reconnect_timeout < xprt->max_reconnect_timeout) in xprt_rdma_set_connect_timeout()
469 xprt->max_reconnect_timeout = reconnect_timeout; in xprt_rdma_set_connect_timeout()
471 spin_unlock(&xprt->transport_lock); in xprt_rdma_set_connect_timeout()
481 xprt_rdma_connect(struct rpc_xprt *xprt, struct rpc_task *task) in xprt_rdma_connect() argument
483 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_connect()
487 WARN_ON_ONCE(!xprt_lock_connect(xprt, task, r_xprt)); in xprt_rdma_connect()
491 delay = xprt_reconnect_delay(xprt); in xprt_rdma_connect()
492 xprt_reconnect_backoff(xprt, RPCRDMA_INIT_REEST_TO); in xprt_rdma_connect()
509 xprt_rdma_alloc_slot(struct rpc_xprt *xprt, struct rpc_task *task) in xprt_rdma_alloc_slot() argument
511 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_alloc_slot()
523 xprt_add_backlog(xprt, task); in xprt_rdma_alloc_slot()
533 xprt_rdma_free_slot(struct rpc_xprt *xprt, struct rpc_rqst *rqst) in xprt_rdma_free_slot() argument
536 container_of(xprt, struct rpcrdma_xprt, rx_xprt); in xprt_rdma_free_slot()
539 if (!xprt_wake_up_backlog(xprt, rqst)) { in xprt_rdma_free_slot()
635 struct rpc_xprt *xprt = rqst->rq_xprt; in xprt_rdma_send_request() local
637 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_send_request()
645 if (!xprt_connected(xprt)) in xprt_rdma_send_request()
648 if (!xprt_request_get_cong(xprt, rqst)) in xprt_rdma_send_request()
656 if (rqst->rq_connect_cookie == xprt->connect_cookie) in xprt_rdma_send_request()
676 xprt_rdma_close(xprt); in xprt_rdma_send_request()
680 void xprt_rdma_print_stats(struct rpc_xprt *xprt, struct seq_file *seq) in xprt_rdma_print_stats() argument
682 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_print_stats()
685 if (xprt_connected(xprt)) in xprt_rdma_print_stats()
686 idle_time = (long)(jiffies - xprt->last_used) / HZ; in xprt_rdma_print_stats()
691 xprt->stat.bind_count, in xprt_rdma_print_stats()
692 xprt->stat.connect_count, in xprt_rdma_print_stats()
693 xprt->stat.connect_time / HZ, in xprt_rdma_print_stats()
695 xprt->stat.sends, in xprt_rdma_print_stats()
696 xprt->stat.recvs, in xprt_rdma_print_stats()
697 xprt->stat.bad_xids, in xprt_rdma_print_stats()
698 xprt->stat.req_u, in xprt_rdma_print_stats()
699 xprt->stat.bklog_u); in xprt_rdma_print_stats()
722 xprt_rdma_enable_swap(struct rpc_xprt *xprt) in xprt_rdma_enable_swap() argument
728 xprt_rdma_disable_swap(struct rpc_xprt *xprt) in xprt_rdma_disable_swap() argument