From: Oleg Drokin Date: Fri, 7 Feb 2020 01:21:43 +0000 (-0500) Subject: LU-13131 osc: Always send all HP RPCs requests X-Git-Tag: 2.12.5-RC1~17 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F68%2F37468%2F8;p=fs%2Flustre-release.git LU-13131 osc: Always send all HP RPCs requests 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 Reviewed-on: https://review.whamcloud.com/37468 Reviewed-by: Andreas Dilger Reviewed-by: Wang Shilong Tested-by: jenkins Tested-by: Maloo --- diff --git a/lustre/osc/osc_cache.c b/lustre/osc/osc_cache.c index a4bb3c8..d3f200e 100644 --- a/lustre/osc/osc_cache.c +++ b/lustre/osc/osc_cache.c @@ -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; }