Dai Ngo
56199ebbcb
SUNRPC: increase size of rpc_wait_queue.qlen from unsigned short to unsigned int
[ Upstream commit 2c35f43b5a4b9cdfaa6fdd946f5a212615dac8eb ]
When the NFS client is under extreme load the rpc_wait_queue.qlen counter
can be overflowed. Here is an instant of the backlog queue overflow in a
real world environment shown by drgn helper:
rpc_task_stats(rpc_clnt):
-------------------------
rpc_clnt: 0xffff92b65d2bae00
rpc_xprt: 0xffff9275db64f000
Queue: sending[64887] pending[524] backlog[30441] binding[0]
XMIT task: 0xffff925c6b1d8e98
WRITE: 750654
__dta_call_status_580: 65463
__dta_call_transmit_status_579: 1
call_reserveresult: 685189
nfs_client_init_is_complete: 1
COMMIT: 584
call_reserveresult: 573
__dta_call_status_580: 11
ACCESS: 1
__dta_call_status_580: 1
GETATTR: 10
__dta_call_status_580: 4
call_reserveresult: 6
751249 tasks for server 111.222.333.444
Total tasks: 751249
count_rpc_wait_queues(xprt):
----------------------------
**** rpc_xprt: 0xffff9275db64f000 num_reqs: 65511
wait_queue: xprt_binding[0] cnt: 0
wait_queue: xprt_binding[1] cnt: 0
wait_queue: xprt_binding[2] cnt: 0
wait_queue: xprt_binding[3] cnt: 0
rpc_wait_queue[xprt_binding].qlen: 0 maxpriority: 0
wait_queue: xprt_sending[0] cnt: 0
wait_queue: xprt_sending[1] cnt: 64887
wait_queue: xprt_sending[2] cnt: 0
wait_queue: xprt_sending[3] cnt: 0
rpc_wait_queue[xprt_sending].qlen: 64887 maxpriority: 3
wait_queue: xprt_pending[0] cnt: 524
wait_queue: xprt_pending[1] cnt: 0
wait_queue: xprt_pending[2] cnt: 0
wait_queue: xprt_pending[3] cnt: 0
rpc_wait_queue[xprt_pending].qlen: 524 maxpriority: 0
wait_queue: xprt_backlog[0] cnt: 0
wait_queue: xprt_backlog[1] cnt: 685801
wait_queue: xprt_backlog[2] cnt: 0
wait_queue: xprt_backlog[3] cnt: 0
rpc_wait_queue[xprt_backlog].qlen: 30441 maxpriority: 3 [task cnt mismatch]
There is no effect on operations when this overflow occurs. However
it causes confusion when trying to diagnose the performance problem.
Signed-off-by: Dai Ngo <dai.ngo@oracle.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:50:16 +02:00
..
2023-01-18 11:29:59 +01:00
2022-08-25 11:15:23 +02:00
2022-03-16 13:20:26 +01:00
2022-06-14 16:59:39 +02:00
2023-08-11 11:45:16 +02:00
2022-09-05 10:26:29 +02:00
2022-09-15 12:17:02 +02:00
2023-05-30 12:42:14 +01:00
2023-08-11 11:45:25 +02:00
2024-02-23 08:12:39 +01:00
2024-04-13 12:50:16 +02:00
2023-06-09 10:23:54 +02:00
2022-03-23 09:10:43 +01:00
2022-10-26 13:19:32 +02:00
2023-06-09 10:23:56 +02:00
2022-11-10 17:46:56 +01:00
2022-04-15 14:14:41 +02:00
2024-03-26 18:22:34 -04:00
2024-02-23 08:12:46 +01:00
2022-09-15 12:17:02 +02:00
2022-07-21 21:09:26 +02:00
2022-12-14 11:28:27 +01:00
2023-08-30 16:31:56 +02:00
2023-08-08 19:49:17 +02:00
2023-12-13 17:42:15 +01:00
2023-04-05 11:15:42 +02:00
2023-12-20 15:38:01 +01:00
2023-05-17 11:13:06 +02:00
2024-02-23 08:12:40 +01:00
2022-05-25 09:10:41 +02:00
2024-02-23 08:12:53 +01:00
2022-10-26 13:19:31 +02:00
2022-11-10 17:46:55 +01:00
2023-08-11 11:45:05 +02:00
2023-09-23 10:47:59 +02:00
2024-04-13 12:50:14 +02:00
2023-04-20 12:04:39 +02:00
2024-04-13 12:50:12 +02:00
2023-12-08 08:43:23 +01:00
2024-03-26 18:22:37 -04:00
2024-02-23 08:12:55 +01:00
2023-02-22 12:47:20 +01:00
2022-06-25 11:49:07 +02:00
2023-09-23 10:48:11 +02:00
2023-10-10 21:44:57 +02:00
2023-03-11 16:31:51 +01:00
2023-10-25 11:16:17 +02:00
2022-10-26 13:19:35 +02:00
2023-06-28 10:15:27 +02:00
2023-03-11 16:31:35 +01:00
2023-02-06 07:49:46 +01:00
2022-07-02 16:27:39 +02:00
2022-08-25 11:15:23 +02:00
2023-03-11 16:31:51 +01:00
2022-11-23 07:53:44 +01:00
2023-10-10 21:45:00 +02:00
2024-02-23 08:12:58 +01:00
2022-06-14 16:59:25 +02:00
2023-01-18 11:30:49 +01:00
2023-10-25 11:16:31 +02:00
2022-06-25 11:49:12 +02:00
2022-12-08 11:18:34 +01:00
2022-04-15 14:15:07 +02:00
2022-11-23 07:53:44 +01:00
2023-09-23 10:47:59 +02:00
2022-05-18 09:42:47 +02:00
2024-03-15 10:48:14 -04:00
2023-06-21 15:39:57 +02:00
2023-06-21 15:39:57 +02:00
2022-04-15 14:15:03 +02:00
2023-09-23 10:47:58 +02:00
2023-08-11 11:45:06 +02:00
2022-06-14 16:59:38 +02:00
2023-02-25 11:51:51 +01:00
2022-11-01 19:05:40 +01:00
2024-02-23 08:12:49 +01:00
2023-09-23 10:48:11 +02:00
2023-09-23 10:48:05 +02:00
2023-12-13 17:42:19 +01:00
2023-02-22 12:47:17 +01:00
2023-11-08 11:22:18 +01:00
2023-08-11 11:45:40 +02:00
2024-03-26 18:22:34 -04:00
2023-06-09 10:23:54 +02:00
2022-06-25 11:49:11 +02:00
2023-11-20 10:29:18 +01:00
2023-05-17 11:13:28 +02:00
2023-01-18 11:30:11 +01:00
2022-06-14 16:59:13 +02:00
2023-11-28 16:46:33 +00:00
2024-03-26 18:22:40 -04:00
2023-10-25 11:16:20 +02:00
2023-10-25 11:16:20 +02:00
2023-08-30 16:31:56 +02:00
2023-02-25 11:51:50 +01:00
2022-07-02 16:27:31 +02:00
2023-06-28 10:15:28 +02:00
2022-09-05 10:26:34 +02:00
2023-11-08 11:22:19 +01:00
2022-07-12 16:29:03 +02:00
2022-09-05 10:26:28 +02:00
2024-02-23 08:12:58 +01:00
2023-08-11 11:45:22 +02:00
2022-09-28 11:02:57 +02:00
2023-03-22 13:27:11 +01:00
2022-06-25 11:49:11 +02:00
2023-05-30 12:42:13 +01:00
2024-02-23 08:12:43 +01:00
2023-02-06 07:49:44 +01:00
2023-08-11 11:45:27 +02:00
2023-05-17 11:13:22 +02:00
2024-04-13 12:50:03 +02:00
2023-01-18 11:30:05 +01:00
2022-06-25 11:49:10 +02:00
2022-03-23 09:10:41 +01:00
2023-09-23 10:48:00 +02:00
2023-03-22 13:27:11 +01:00
2022-07-29 17:10:37 +02:00
2023-05-17 11:13:27 +02:00
2024-02-23 08:12:39 +01:00
2023-05-30 12:42:14 +01:00
2022-03-16 13:20:27 +01:00
2023-08-30 16:31:49 +02:00
2022-03-16 13:20:27 +01:00
2023-05-17 11:13:15 +02:00
2023-08-11 11:45:17 +02:00