From: Oscar <om...@mo...> - 2009-04-08 13:14:59
|
>From 2b97247e65edfabd1ff002f662acd4a961b1a801 Mon Sep 17 00:00:00 2001 From: Oscar Medina <osc...@mo...> Date: Tue, 7 Apr 2009 15:32:31 -0400 Subject: [PATCH 2.6.29-rc8] tipc: Add options to view queue depths Add TIPC_NODE_RECVQ_DEPTH to get the node receive queue size and TIPC_SOCK_RECVQ_DEPTH to get the socket receive queue size --- include/linux/tipc.h | 2 ++ net/tipc/socket.c | 6 ++++++ 2 files changed, 8 insertions(+), 0 deletions(-) diff --git a/include/linux/tipc.h b/include/linux/tipc.h index bea4694..84dc82c 100644 --- a/include/linux/tipc.h +++ b/include/linux/tipc.h @@ -209,5 +209,7 @@ struct sockaddr_tipc { #define TIPC_SRC_DROPPABLE 128 /* Default: 0 (resend congested msg) */ #define TIPC_DEST_DROPPABLE 129 /* Default: based on socket type */ #define TIPC_CONN_TIMEOUT 130 /* Default: 8000 (ms) */ +#define TIPC_NODE_RECVQ_DEPTH 131 +#define TIPC_SOCK_RECVQ_DEPTH 132 #endif diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 1848693..d26a96b 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -1748,6 +1748,12 @@ static int getsockopt(struct socket *sock, value = jiffies_to_msecs(sk->sk_rcvtimeo); /* no need to set "res", since already 0 at this point */ break; + case TIPC_NODE_RECVQ_DEPTH: + value = (u32)atomic_read(&tipc_queue_size); + break; + case TIPC_SOCK_RECVQ_DEPTH: + value = (u32)skb_queue_len(&tsock->sk.sk_receive_queue); + break; default: res = -EINVAL; } -- 1.6.2.1 |