Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
Under relatively big load a process may spin in obd_get_mod_rpc_slot() for a long time
without successful grabbing a free mod rpc slot. It has been observed
a process spinning more than 100 seconds. See excerpt from lustre logs below. That test ran 72 mdtest-s and 8 IOR-s.
00000020:00100000:12.0:1534800918.648481:0:5506:0:(genops.c:2572:obd_get_mod_rpc_slot()) fs1-MDT0000-mdc-ffff88105b2f9000: sleeping for a modify RPC slot opc 101, max 7 ... 00000020:00100000:28.0:1534800934.002775:0:5506:0:(genops.c:2572:obd_get_mod_rpc_slot()) fs1-MDT0000-mdc-ffff88105b2f9000: sleeping for a modify RPC slot opc 101, max 7 ... 00000020:00100000:12.0:1534800972.382794:0:5506:0:(genops.c:2572:obd_get_mod_rpc_slot()) fs1-MDT0000-mdc-ffff88105b2f9000: sleeping for a modify RPC slot opc 101, max 7 ... 00000020:00100000:31.0:1534801033.373093:0:5506:0:(genops.c:2572:obd_get_mod_rpc_slot()) fs1-MDT0000-mdc-ffff88105b2f9000: sleeping for a modify RPC slot opc 101, max 7
It might make sense for obd_get_mod_rpc_slot () to run FIFO wait queue.
Landed for 2.12