proc.c (f2a676d10038e8f3913dc576397b9c9efb190afd) proc.c (f7fa52421f76309c574f2575701660bc3ea3a705)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/* /proc/net/ support for AF_RXRPC
3 *
4 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
5 * Written by David Howells (dhowells@redhat.com)
6 */
7
8#include <linux/module.h>

--- 432 unchanged lines hidden (view full) ---

441 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_OUT_OF_SEQUENCE]),
442 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_EXCEEDS_WINDOW]),
443 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_NOSPACE]),
444 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_PING]),
445 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_PING_RESPONSE]),
446 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_DELAY]),
447 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_IDLE]));
448 seq_printf(seq,
1// SPDX-License-Identifier: GPL-2.0-or-later
2/* /proc/net/ support for AF_RXRPC
3 *
4 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
5 * Written by David Howells (dhowells@redhat.com)
6 */
7
8#include <linux/module.h>

--- 432 unchanged lines hidden (view full) ---

441 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_OUT_OF_SEQUENCE]),
442 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_EXCEEDS_WINDOW]),
443 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_NOSPACE]),
444 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_PING]),
445 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_PING_RESPONSE]),
446 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_DELAY]),
447 atomic_read(&rxnet->stat_rx_acks[RXRPC_ACK_IDLE]));
448 seq_printf(seq,
449 "Why-Req-A: acklost=%u already=%u mrtt=%u ortt=%u\n",
450 atomic_read(&rxnet->stat_why_req_ack[rxrpc_reqack_ack_lost]),
451 atomic_read(&rxnet->stat_why_req_ack[rxrpc_reqack_already_on]),
452 atomic_read(&rxnet->stat_why_req_ack[rxrpc_reqack_more_rtt]),
453 atomic_read(&rxnet->stat_why_req_ack[rxrpc_reqack_old_rtt]));
454 seq_printf(seq,
455 "Why-Req-A: nolast=%u retx=%u slows=%u smtxw=%u\n",
456 atomic_read(&rxnet->stat_why_req_ack[rxrpc_reqack_no_srv_last]),
457 atomic_read(&rxnet->stat_why_req_ack[rxrpc_reqack_retrans]),
458 atomic_read(&rxnet->stat_why_req_ack[rxrpc_reqack_slow_start]),
459 atomic_read(&rxnet->stat_why_req_ack[rxrpc_reqack_small_txwin]));
460 seq_printf(seq,
449 "Buffers : txb=%u rxb=%u\n",
450 atomic_read(&rxrpc_n_tx_skbs),
451 atomic_read(&rxrpc_n_rx_skbs));
452 return 0;
453}
454
455/*
456 * Clear stats if /proc/net/rxrpc/stats is written to.

--- 14 unchanged lines hidden (view full) ---

471 atomic_set(&rxnet->stat_rx_data_reqack, 0);
472 atomic_set(&rxnet->stat_rx_data_jumbo, 0);
473
474 atomic_set(&rxnet->stat_tx_ack_fill, 0);
475 atomic_set(&rxnet->stat_tx_ack_send, 0);
476 atomic_set(&rxnet->stat_tx_ack_skip, 0);
477 memset(&rxnet->stat_tx_acks, 0, sizeof(rxnet->stat_tx_acks));
478 memset(&rxnet->stat_rx_acks, 0, sizeof(rxnet->stat_rx_acks));
461 "Buffers : txb=%u rxb=%u\n",
462 atomic_read(&rxrpc_n_tx_skbs),
463 atomic_read(&rxrpc_n_rx_skbs));
464 return 0;
465}
466
467/*
468 * Clear stats if /proc/net/rxrpc/stats is written to.

--- 14 unchanged lines hidden (view full) ---

483 atomic_set(&rxnet->stat_rx_data_reqack, 0);
484 atomic_set(&rxnet->stat_rx_data_jumbo, 0);
485
486 atomic_set(&rxnet->stat_tx_ack_fill, 0);
487 atomic_set(&rxnet->stat_tx_ack_send, 0);
488 atomic_set(&rxnet->stat_tx_ack_skip, 0);
489 memset(&rxnet->stat_tx_acks, 0, sizeof(rxnet->stat_tx_acks));
490 memset(&rxnet->stat_rx_acks, 0, sizeof(rxnet->stat_rx_acks));
491
492 memset(&rxnet->stat_why_req_ack, 0, sizeof(rxnet->stat_why_req_ack));
479 return size;
480}
493 return size;
494}