Files
linux-bredos/include/linux
Dai Ngo 2c35f43b5a SUNRPC: increase size of rpc_wait_queue.qlen from unsigned short to unsigned int
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>
2024-02-28 16:18:19 -05:00
..
2024-01-02 17:54:05 +01:00
2023-12-20 19:26:32 -05:00
2023-12-02 22:24:36 +00:00
2023-12-15 16:25:55 -08:00
2023-12-20 14:48:13 -08:00
2024-02-09 23:31:16 -05:00
2023-12-20 07:39:52 -05:00
2023-12-12 14:24:14 +01:00
2024-01-08 09:36:55 +09:00
2024-01-19 11:59:11 -08:00
2024-01-02 11:25:28 +01:00
2024-01-18 21:10:43 +01:00
2024-02-23 16:45:05 +01:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:30 -05:00
2023-11-28 15:48:39 +01:00
2023-11-15 22:41:27 -05:00
2024-01-04 10:47:56 -05:00
2023-12-20 19:26:30 -05:00
2024-01-15 12:10:41 -06:00
2024-01-15 12:10:41 -06:00
2023-11-15 10:15:40 +01:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2024-01-09 15:00:09 +01:00
2023-12-20 19:26:30 -05:00
2023-12-27 11:49:56 -05:00
2023-12-20 19:26:32 -05:00
2023-12-27 11:49:56 -05:00
2023-12-20 19:26:31 -05:00
2023-11-15 10:15:33 +01:00
2023-12-20 19:26:32 -05:00
2023-12-20 19:26:32 -05:00
2023-12-20 19:26:32 -05:00
2024-02-15 12:17:28 -05:00
2023-12-08 12:02:38 +01:00
2023-12-20 19:26:31 -05:00
2024-01-21 18:09:30 +00:00
2024-01-19 11:59:11 -08:00
2023-12-28 05:02:42 -08:00
2023-11-17 15:48:03 +01:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2023-12-08 12:02:37 +01:00
2023-12-20 19:26:30 -05:00
2023-12-06 16:12:48 -08:00
2023-12-29 11:58:24 -08:00