Files
android_kernel_fxtec_sm6115/include/linux
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
..
2024-02-23 08:12:39 +01:00
2018-05-26 09:16:44 +02:00
2012-10-08 13:50:20 +10:30
2018-06-15 18:10:01 -03:00
2022-10-26 13:19:32 +02:00
2011-03-11 14:25:50 +00:00
2024-03-26 18:22:34 -04:00
2018-06-15 18:10:01 -03:00
2023-08-08 19:49:17 +02:00
2018-03-26 15:09:38 +02:00
2023-12-20 15:38:01 +01:00
2017-08-24 13:23:03 -07:00
2012-02-20 19:46:36 +11:00
2018-01-01 12:40:27 -07:00
2019-11-24 08:19:14 +01:00
2017-08-07 17:22:14 +02:00
2021-12-08 08:50:13 +01:00
2017-11-13 01:41:20 +01:00
2024-04-13 12:50:14 +02:00
2018-07-27 09:57:23 +10:00
2021-01-30 13:32:12 +01:00
2018-06-28 20:32:51 +09:00
2018-03-26 08:53:43 -06:00
2021-05-22 10:59:50 +02:00
2022-10-26 13:19:35 +02:00
2021-03-04 09:39:44 +01:00
2022-08-25 11:15:23 +02:00
2021-02-07 14:48:38 +01:00
2017-12-01 13:09:40 -08:00
2018-04-12 09:41:19 -07:00
2018-06-07 17:34:35 -07:00
2018-06-07 17:34:39 -07:00
2018-03-26 13:14:43 -04:00
2023-09-23 10:47:59 +02:00
2021-06-30 08:48:18 -04:00
2023-06-21 15:39:57 +02:00
2018-01-28 22:17:24 -05:00
2018-01-31 17:18:37 -08:00
2024-02-23 08:12:49 +01:00
2023-09-23 10:48:05 +02:00
2023-02-22 12:47:17 +01:00
2017-11-17 16:10:04 -08:00
2018-07-21 10:43:12 -05:00
2023-11-28 16:46:33 +00:00
2023-10-25 11:16:20 +02:00
2023-10-25 11:16:20 +02:00
2021-12-14 10:18:04 +01:00
2018-06-29 08:48:06 -06:00
2020-04-02 15:28:22 +02:00
2018-08-16 12:14:42 -07:00
2018-01-15 12:07:46 -08:00
2013-04-30 15:50:12 +05:30
2024-02-23 08:12:39 +01:00
2005-04-16 15:20:36 -07:00
2021-12-14 10:18:06 +01:00
2013-10-17 15:53:09 -04:00
2017-08-15 09:02:08 -07:00