| /kernel/linux/linux-4.19/net/rxrpc/ |
| D | call_object.c | 1 /* RxRPC individual remote procedure call handling 50 struct rxrpc_call *call = from_timer(call, t, timer); in rxrpc_call_timer_expired() local 52 _enter("%d", call->debug_id); in rxrpc_call_timer_expired() 54 if (call->state < RXRPC_CALL_COMPLETE) { in rxrpc_call_timer_expired() 55 trace_rxrpc_timer(call, rxrpc_timer_expired, jiffies); in rxrpc_call_timer_expired() 56 rxrpc_queue_call(call); in rxrpc_call_timer_expired() 63 * find an extant server call 69 struct rxrpc_call *call; in rxrpc_find_call_by_user_ID() local 78 call = rb_entry(p, struct rxrpc_call, sock_node); in rxrpc_find_call_by_user_ID() 80 if (user_call_ID < call->user_call_ID) in rxrpc_find_call_by_user_ID() [all …]
|
| D | call_event.c | 27 static void rxrpc_propose_ping(struct rxrpc_call *call, in rxrpc_propose_ping() argument 32 !test_and_set_bit(RXRPC_CALL_EV_PING, &call->events)) in rxrpc_propose_ping() 33 rxrpc_queue_call(call); in rxrpc_propose_ping() 38 if (time_before(ping_at, call->ping_at)) { in rxrpc_propose_ping() 39 WRITE_ONCE(call->ping_at, ping_at); in rxrpc_propose_ping() 40 rxrpc_reduce_call_timer(call, ping_at, now, in rxrpc_propose_ping() 49 static void __rxrpc_propose_ACK(struct rxrpc_call *call, u8 ack_reason, in __rxrpc_propose_ACK() argument 62 rxrpc_propose_ping(call, immediate, background); in __rxrpc_propose_ACK() 71 call->ackr_reason, rxrpc_ack_priority[call->ackr_reason]); in __rxrpc_propose_ACK() 72 if (ack_reason == call->ackr_reason) { in __rxrpc_propose_ACK() [all …]
|
| D | sendmsg.c | 28 struct rxrpc_call *call, in rxrpc_wait_for_tx_window_intr() argument 33 if (call->tx_top - call->tx_hard_ack < in rxrpc_wait_for_tx_window_intr() 34 min_t(unsigned int, call->tx_winsize, in rxrpc_wait_for_tx_window_intr() 35 call->cong_cwnd + call->cong_extra)) in rxrpc_wait_for_tx_window_intr() 38 if (call->state >= RXRPC_CALL_COMPLETE) in rxrpc_wait_for_tx_window_intr() 39 return call->error; in rxrpc_wait_for_tx_window_intr() 44 trace_rxrpc_transmit(call, rxrpc_transmit_wait); in rxrpc_wait_for_tx_window_intr() 45 mutex_unlock(&call->user_mutex); in rxrpc_wait_for_tx_window_intr() 47 if (mutex_lock_interruptible(&call->user_mutex) < 0) in rxrpc_wait_for_tx_window_intr() 57 struct rxrpc_call *call) in rxrpc_wait_for_tx_window_nonintr() argument [all …]
|
| D | recvmsg.c | 24 * Post a call for attention by the socket or kernel service. Further 27 void rxrpc_notify_socket(struct rxrpc_call *call) in rxrpc_notify_socket() argument 32 _enter("%d", call->debug_id); in rxrpc_notify_socket() 34 if (!list_empty(&call->recvmsg_link)) in rxrpc_notify_socket() 39 rx = rcu_dereference(call->socket); in rxrpc_notify_socket() 42 if (call->notify_rx) { in rxrpc_notify_socket() 43 spin_lock_bh(&call->notify_lock); in rxrpc_notify_socket() 44 call->notify_rx(sk, call, call->user_call_ID); in rxrpc_notify_socket() 45 spin_unlock_bh(&call->notify_lock); in rxrpc_notify_socket() 48 if (list_empty(&call->recvmsg_link)) { in rxrpc_notify_socket() [all …]
|
| D | input.c | 31 struct rxrpc_call *call, rxrpc_seq_t seq) in rxrpc_proto_abort() argument 33 if (rxrpc_abort_call(why, call, seq, RX_PROTOCOL_ERROR, -EBADMSG)) { in rxrpc_proto_abort() 34 set_bit(RXRPC_CALL_EV_ABORT, &call->events); in rxrpc_proto_abort() 35 rxrpc_queue_call(call); in rxrpc_proto_abort() 42 static void rxrpc_congestion_management(struct rxrpc_call *call, in rxrpc_congestion_management() argument 48 unsigned int cumulative_acks = call->cong_cumul_acks; in rxrpc_congestion_management() 49 unsigned int cwnd = call->cong_cwnd; in rxrpc_congestion_management() 53 (call->tx_top - call->tx_hard_ack) - summary->nr_acks; in rxrpc_congestion_management() 55 if (test_and_clear_bit(RXRPC_CALL_RETRANS_TIMEOUT, &call->flags)) { in rxrpc_congestion_management() 57 call->cong_ssthresh = max_t(unsigned int, in rxrpc_congestion_management() [all …]
|
| D | call_accept.c | 1 /* incoming call handling 29 static void rxrpc_dummy_notify(struct sock *sk, struct rxrpc_call *call, in rxrpc_dummy_notify() argument 35 * Preallocate a single service call, connection and peer and, if possible, 46 struct rxrpc_call *call; in rxrpc_service_prealloc_one() local 103 call = rxrpc_alloc_call(rx, gfp, debug_id); in rxrpc_service_prealloc_one() 104 if (!call) in rxrpc_service_prealloc_one() 106 call->flags |= (1 << RXRPC_CALL_IS_SERVICE); in rxrpc_service_prealloc_one() 107 call->state = RXRPC_CALL_SERVER_PREALLOC; in rxrpc_service_prealloc_one() 109 trace_rxrpc_call(call, rxrpc_call_new_service, in rxrpc_service_prealloc_one() 110 atomic_read(&call->usage), in rxrpc_service_prealloc_one() [all …]
|
| D | output.c | 40 static void rxrpc_tx_backoff(struct rxrpc_call *call, int ret) in rxrpc_tx_backoff() argument 43 u16 tx_backoff = READ_ONCE(call->tx_backoff); in rxrpc_tx_backoff() 46 WRITE_ONCE(call->tx_backoff, tx_backoff + 1); in rxrpc_tx_backoff() 48 WRITE_ONCE(call->tx_backoff, 0); in rxrpc_tx_backoff() 54 * lets the far side know we're still interested in this call and helps keep 60 static void rxrpc_set_keepalive(struct rxrpc_call *call) in rxrpc_set_keepalive() argument 62 unsigned long now = jiffies, keepalive_at = call->next_rx_timo / 6; in rxrpc_set_keepalive() 65 WRITE_ONCE(call->keepalive_at, keepalive_at); in rxrpc_set_keepalive() 66 rxrpc_reduce_call_timer(call, keepalive_at, now, in rxrpc_set_keepalive() 74 struct rxrpc_call *call, in rxrpc_fill_out_ack() argument [all …]
|
| /kernel/linux/linux-5.10/net/rxrpc/ |
| D | call_object.c | 2 /* RxRPC individual remote procedure call handling 50 struct rxrpc_call *call = from_timer(call, t, timer); in rxrpc_call_timer_expired() local 52 _enter("%d", call->debug_id); in rxrpc_call_timer_expired() 54 if (call->state < RXRPC_CALL_COMPLETE) { in rxrpc_call_timer_expired() 55 trace_rxrpc_timer(call, rxrpc_timer_expired, jiffies); in rxrpc_call_timer_expired() 56 rxrpc_queue_call(call); in rxrpc_call_timer_expired() 63 * find an extant server call 69 struct rxrpc_call *call; in rxrpc_find_call_by_user_ID() local 78 call = rb_entry(p, struct rxrpc_call, sock_node); in rxrpc_find_call_by_user_ID() 80 if (user_call_ID < call->user_call_ID) in rxrpc_find_call_by_user_ID() [all …]
|
| D | call_event.c | 23 static void rxrpc_propose_ping(struct rxrpc_call *call, in rxrpc_propose_ping() argument 28 !test_and_set_bit(RXRPC_CALL_EV_PING, &call->events)) in rxrpc_propose_ping() 29 rxrpc_queue_call(call); in rxrpc_propose_ping() 34 if (time_before(ping_at, call->ping_at)) { in rxrpc_propose_ping() 35 WRITE_ONCE(call->ping_at, ping_at); in rxrpc_propose_ping() 36 rxrpc_reduce_call_timer(call, ping_at, now, in rxrpc_propose_ping() 45 static void __rxrpc_propose_ACK(struct rxrpc_call *call, u8 ack_reason, in __rxrpc_propose_ACK() argument 57 rxrpc_propose_ping(call, immediate, background); in __rxrpc_propose_ACK() 66 call->ackr_reason, rxrpc_ack_priority[call->ackr_reason]); in __rxrpc_propose_ACK() 67 if (ack_reason == call->ackr_reason) { in __rxrpc_propose_ACK() [all …]
|
| D | sendmsg.c | 23 static bool rxrpc_check_tx_space(struct rxrpc_call *call, rxrpc_seq_t *_tx_win) in rxrpc_check_tx_space() argument 26 min_t(unsigned int, call->tx_winsize, in rxrpc_check_tx_space() 27 call->cong_cwnd + call->cong_extra); in rxrpc_check_tx_space() 28 rxrpc_seq_t tx_win = READ_ONCE(call->tx_hard_ack); in rxrpc_check_tx_space() 32 return call->tx_top - tx_win < win_size; in rxrpc_check_tx_space() 39 struct rxrpc_call *call, in rxrpc_wait_for_tx_window_intr() argument 44 if (rxrpc_check_tx_space(call, NULL)) in rxrpc_wait_for_tx_window_intr() 47 if (call->state >= RXRPC_CALL_COMPLETE) in rxrpc_wait_for_tx_window_intr() 48 return call->error; in rxrpc_wait_for_tx_window_intr() 53 trace_rxrpc_transmit(call, rxrpc_transmit_wait); in rxrpc_wait_for_tx_window_intr() [all …]
|
| D | recvmsg.c | 20 * Post a call for attention by the socket or kernel service. Further 23 void rxrpc_notify_socket(struct rxrpc_call *call) in rxrpc_notify_socket() argument 28 _enter("%d", call->debug_id); in rxrpc_notify_socket() 30 if (!list_empty(&call->recvmsg_link)) in rxrpc_notify_socket() 35 rx = rcu_dereference(call->socket); in rxrpc_notify_socket() 38 if (call->notify_rx) { in rxrpc_notify_socket() 39 spin_lock_bh(&call->notify_lock); in rxrpc_notify_socket() 40 call->notify_rx(sk, call, call->user_call_ID); in rxrpc_notify_socket() 41 spin_unlock_bh(&call->notify_lock); in rxrpc_notify_socket() 44 if (list_empty(&call->recvmsg_link)) { in rxrpc_notify_socket() [all …]
|
| D | input.c | 27 struct rxrpc_call *call, rxrpc_seq_t seq) in rxrpc_proto_abort() argument 29 if (rxrpc_abort_call(why, call, seq, RX_PROTOCOL_ERROR, -EBADMSG)) { in rxrpc_proto_abort() 30 set_bit(RXRPC_CALL_EV_ABORT, &call->events); in rxrpc_proto_abort() 31 rxrpc_queue_call(call); in rxrpc_proto_abort() 38 static void rxrpc_congestion_management(struct rxrpc_call *call, in rxrpc_congestion_management() argument 44 unsigned int cumulative_acks = call->cong_cumul_acks; in rxrpc_congestion_management() 45 unsigned int cwnd = call->cong_cwnd; in rxrpc_congestion_management() 49 (call->tx_top - call->tx_hard_ack) - summary->nr_acks; in rxrpc_congestion_management() 51 if (test_and_clear_bit(RXRPC_CALL_RETRANS_TIMEOUT, &call->flags)) { in rxrpc_congestion_management() 53 call->cong_ssthresh = max_t(unsigned int, in rxrpc_congestion_management() [all …]
|
| D | output.c | 36 static void rxrpc_tx_backoff(struct rxrpc_call *call, int ret) in rxrpc_tx_backoff() argument 39 u16 tx_backoff = READ_ONCE(call->tx_backoff); in rxrpc_tx_backoff() 42 WRITE_ONCE(call->tx_backoff, tx_backoff + 1); in rxrpc_tx_backoff() 44 WRITE_ONCE(call->tx_backoff, 0); in rxrpc_tx_backoff() 50 * lets the far side know we're still interested in this call and helps keep 56 static void rxrpc_set_keepalive(struct rxrpc_call *call) in rxrpc_set_keepalive() argument 58 unsigned long now = jiffies, keepalive_at = call->next_rx_timo / 6; in rxrpc_set_keepalive() 61 WRITE_ONCE(call->keepalive_at, keepalive_at); in rxrpc_set_keepalive() 62 rxrpc_reduce_call_timer(call, keepalive_at, now, in rxrpc_set_keepalive() 70 struct rxrpc_call *call, in rxrpc_fill_out_ack() argument [all …]
|
| /kernel/linux/linux-4.19/fs/afs/ |
| D | rxrpc.c | 30 /* asynchronous incoming call initial processing */ 126 * Allocate a call. 132 struct afs_call *call; in afs_alloc_call() local 135 call = kzalloc(sizeof(*call), gfp); in afs_alloc_call() 136 if (!call) in afs_alloc_call() 139 call->type = type; in afs_alloc_call() 140 call->net = net; in afs_alloc_call() 141 call->debug_id = atomic_inc_return(&rxrpc_debug_id); in afs_alloc_call() 142 atomic_set(&call->usage, 1); in afs_alloc_call() 143 INIT_WORK(&call->async_work, afs_process_async_call); in afs_alloc_call() [all …]
|
| D | cmservice.c | 104 * route an incoming cache manager call 107 bool afs_cm_incoming_call(struct afs_call *call) in afs_cm_incoming_call() argument 109 _enter("{CB.OP %u}", call->operation_ID); in afs_cm_incoming_call() 111 switch (call->operation_ID) { in afs_cm_incoming_call() 113 call->type = &afs_SRXCBCallBack; in afs_cm_incoming_call() 116 call->type = &afs_SRXCBInitCallBackState; in afs_cm_incoming_call() 119 call->type = &afs_SRXCBInitCallBackState3; in afs_cm_incoming_call() 122 call->type = &afs_SRXCBProbe; in afs_cm_incoming_call() 125 call->type = &afs_SRXCBProbeUuid; in afs_cm_incoming_call() 128 call->type = &afs_SRXCBTellMeAboutYourself; in afs_cm_incoming_call() [all …]
|
| D | fsclient.c | 29 static inline void afs_use_fs_server(struct afs_call *call, struct afs_cb_interest *cbi) in afs_use_fs_server() argument 31 call->cbi = afs_get_cb_interest(cbi); in afs_use_fs_server() 129 static int xdr_decode_AFSFetchStatus(struct afs_call *call, in xdr_decode_AFSFetchStatus() argument 137 bool inline_error = (call->operation_ID == afs_FS_InlineBulkStatus); in xdr_decode_AFSFetchStatus() 198 EXTRACT_M(caller_access); /* call ticket dependent */ in xdr_decode_AFSFetchStatus() 236 return afs_protocol_error(call, -EBADMSG); in xdr_decode_AFSFetchStatus() 243 static int afs_decode_status(struct afs_call *call, in afs_decode_status() argument 253 return xdr_decode_AFSFetchStatus(call, _bp, status, vnode, in afs_decode_status() 257 ret = xdr_decode_AFSFetchStatus(call, _bp, status, vnode, in afs_decode_status() 266 static void xdr_decode_AFSCallBack(struct afs_call *call, in xdr_decode_AFSCallBack() argument [all …]
|
| D | vlclient.c | 19 * Deliver reply data to a VL.GetEntryByNameU call. 21 static int afs_deliver_vl_get_entry_by_name_u(struct afs_call *call) in afs_deliver_vl_get_entry_by_name_u() argument 31 ret = afs_transfer_reply(call); in afs_deliver_vl_get_entry_by_name_u() 36 uvldb = call->buffer; in afs_deliver_vl_get_entry_by_name_u() 37 entry = call->reply[0]; in afs_deliver_vl_get_entry_by_name_u() 112 static void afs_destroy_vl_get_entry_by_name_u(struct afs_call *call) in afs_destroy_vl_get_entry_by_name_u() argument 114 kfree(call->reply[0]); in afs_destroy_vl_get_entry_by_name_u() 115 afs_flat_call_destructor(call); in afs_destroy_vl_get_entry_by_name_u() 139 struct afs_call *call; in afs_vl_get_entry_by_name_u() local 152 call = afs_alloc_flat_call(net, &afs_RXVLGetEntryByNameU, reqsz, in afs_vl_get_entry_by_name_u() [all …]
|
| /kernel/linux/linux-5.10/fs/afs/ |
| D | rxrpc.c | 26 /* asynchronous incoming call initial processing */ 132 * Allocate a call. 138 struct afs_call *call; in afs_alloc_call() local 141 call = kzalloc(sizeof(*call), gfp); in afs_alloc_call() 142 if (!call) in afs_alloc_call() 145 call->type = type; in afs_alloc_call() 146 call->net = net; in afs_alloc_call() 147 call->debug_id = atomic_inc_return(&rxrpc_debug_id); in afs_alloc_call() 148 atomic_set(&call->usage, 1); in afs_alloc_call() 149 INIT_WORK(&call->async_work, afs_process_async_call); in afs_alloc_call() [all …]
|
| D | cmservice.c | 103 * route an incoming cache manager call 106 bool afs_cm_incoming_call(struct afs_call *call) in afs_cm_incoming_call() argument 108 _enter("{%u, CB.OP %u}", call->service_id, call->operation_ID); in afs_cm_incoming_call() 110 switch (call->operation_ID) { in afs_cm_incoming_call() 112 call->type = &afs_SRXCBCallBack; in afs_cm_incoming_call() 115 call->type = &afs_SRXCBInitCallBackState; in afs_cm_incoming_call() 118 call->type = &afs_SRXCBInitCallBackState3; in afs_cm_incoming_call() 121 call->type = &afs_SRXCBProbe; in afs_cm_incoming_call() 124 call->type = &afs_SRXCBProbeUuid; in afs_cm_incoming_call() 127 call->type = &afs_SRXCBTellMeAboutYourself; in afs_cm_incoming_call() [all …]
|
| D | vlclient.c | 15 * Deliver reply data to a VL.GetEntryByNameU call. 17 static int afs_deliver_vl_get_entry_by_name_u(struct afs_call *call) in afs_deliver_vl_get_entry_by_name_u() argument 27 ret = afs_transfer_reply(call); in afs_deliver_vl_get_entry_by_name_u() 32 uvldb = call->buffer; in afs_deliver_vl_get_entry_by_name_u() 33 entry = call->ret_vldb; in afs_deliver_vl_get_entry_by_name_u() 109 static void afs_destroy_vl_get_entry_by_name_u(struct afs_call *call) in afs_destroy_vl_get_entry_by_name_u() argument 111 kfree(call->ret_vldb); in afs_destroy_vl_get_entry_by_name_u() 112 afs_flat_call_destructor(call); in afs_destroy_vl_get_entry_by_name_u() 134 struct afs_call *call; in afs_vl_get_entry_by_name_u() local 148 call = afs_alloc_flat_call(net, &afs_RXVLGetEntryByNameU, reqsz, in afs_vl_get_entry_by_name_u() [all …]
|
| D | yfsclient.c | 145 static void yfs_check_req(struct afs_call *call, __be32 *bp) in yfs_check_req() argument 147 size_t len = (void *)bp - call->request; in yfs_check_req() 149 if (len > call->request_size) in yfs_check_req() 151 call->type->name, len, call->request_size); in yfs_check_req() 152 else if (len < call->request_size) in yfs_check_req() 154 call->type->name, len, call->request_size); in yfs_check_req() 181 struct afs_call *call, in xdr_decode_YFSFetchStatus() argument 227 afs_protocol_error(call, afs_eproto_bad_status); in xdr_decode_YFSFetchStatus() 235 struct afs_call *call, in xdr_decode_YFSCallBack() argument 242 cb_expiry = call->reply_time; in xdr_decode_YFSCallBack() [all …]
|
| D | fsclient.c | 54 struct afs_call *call, in xdr_decode_AFSFetchStatus() argument 59 bool inline_error = (call->operation_ID == afs_FS_InlineBulkStatus); in xdr_decode_AFSFetchStatus() 127 afs_protocol_error(call, afs_eproto_bad_status); in xdr_decode_AFSFetchStatus() 131 static time64_t xdr_decode_expiry(struct afs_call *call, u32 expiry) in xdr_decode_expiry() argument 133 return ktime_divns(call->reply_time, NSEC_PER_SEC) + expiry; in xdr_decode_expiry() 137 struct afs_call *call, in xdr_decode_AFSCallBack() argument 144 cb->expires_at = xdr_decode_expiry(call, ntohl(*bp++)); in xdr_decode_AFSCallBack() 237 static int afs_deliver_fs_fetch_status(struct afs_call *call) in afs_deliver_fs_fetch_status() argument 239 struct afs_operation *op = call->op; in afs_deliver_fs_fetch_status() 244 ret = afs_transfer_reply(call); in afs_deliver_fs_fetch_status() [all …]
|
| /kernel/linux/linux-5.10/include/asm-generic/ |
| D | syscall.h | 3 * Access to user system call parameters and results 23 * syscall_get_nr - find what system call a task is executing 27 * If @task is executing a system call or is at system call 28 * tracing about to attempt one, returns the system call number. 29 * If @task is not executing a system call, i.e. it's blocked 33 * system call number can be meaningful. If the actual arch value 36 * It's only valid to call this when @task is known to be blocked. 41 * syscall_rollback - roll back registers after an aborted system call 42 * @task: task of interest, must be in system call exit tracing 45 * It's only valid to call this when @task is stopped for system [all …]
|
| /kernel/linux/linux-4.19/include/asm-generic/ |
| D | syscall.h | 2 * Access to user system call parameters and results 26 * syscall_get_nr - find what system call a task is executing 30 * If @task is executing a system call or is at system call 31 * tracing about to attempt one, returns the system call number. 32 * If @task is not executing a system call, i.e. it's blocked 36 * system call number can be meaningful. If the actual arch value 39 * It's only valid to call this when @task is known to be blocked. 44 * syscall_rollback - roll back registers after an aborted system call 45 * @task: task of interest, must be in system call exit tracing 48 * It's only valid to call this when @task is stopped for system [all …]
|
| /kernel/linux/linux-4.19/include/trace/events/ |
| D | afs.h | 174 TP_PROTO(struct afs_call *call, unsigned count, unsigned offset, 177 TP_ARGS(call, count, offset, want_more, ret), 180 __field(unsigned int, call ) 190 __entry->call = call->debug_id; 191 __entry->state = call->state; 192 __entry->unmarshall = call->unmarshall; 200 __entry->call, 207 TP_PROTO(struct rxrpc_call *rxcall, struct afs_call *call), 209 TP_ARGS(rxcall, call), 212 __field(unsigned int, call ) [all …]
|