Whamcloud - gitweb
LU-13131 osc: Always send all HP RPCs requests 68/37468/8
authorOleg Drokin <green@whamcloud.com>
Fri, 7 Feb 2020 01:21:43 +0000 (20:21 -0500)
committerOleg Drokin <green@whamcloud.com>
Thu, 21 May 2020 06:08:14 +0000 (06:08 +0000)
that are resulting from lock cancel activity.

Lustre-change: https://review.whamcloud.com/38057
Lustre-commit: 0f1743916be6605fcd8f57993d6ce7d8d06ce12c

Change-Id: I4007167f0f39b0699e977c14bd160f475d8288ad
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/37468
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/osc/osc_cache.c

index a4bb3c8..d3f200e 100644 (file)
@@ -2272,7 +2272,12 @@ __must_hold(&cli->cl_loi_list_lock)
 
                OSC_IO_DEBUG(osc, "%lu in flight\n", rpcs_in_flight(cli));
 
-               if (osc_max_rpc_in_flight(cli, osc)) {
+               /* even if we have reached our max in flight RPCs, we still
+                * allow all high-priority RPCs through to prevent their
+                * starvation and leading to server evicting us for not
+                * writing out pages in a timely manner LU-13131 */
+               if (osc_max_rpc_in_flight(cli, osc) &&
+                   list_empty(&osc->oo_hp_exts)) {
                        __osc_list_maint(cli, osc);
                        break;
                }