Whamcloud - gitweb
LU-7988 hsm: run HSM coordinator once per second at most 41/19341/41
authorFrank Zago <fzago@cray.com>
Wed, 6 Apr 2016 21:03:14 +0000 (16:03 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 1 Aug 2017 05:32:50 +0000 (05:32 +0000)
commitcc6ef11d2f972ebc440013bddda87a536a09750c
treea25e71fc5a8f02949a2f460bf6cf30893b8895f3
parent2deec088aa4e1153bc00730c2b1b4bf5d40d275a
LU-7988 hsm: run HSM coordinator once per second at most

When there is heavy HSM usage, each new HSM request can trigger the
HSM coordinator, which may run many times per seconds. When it is
running it locks the HSM catalog (using cdt_llog_lock) preventing any
other HSM operation to happen, such as insertion, removal or dumping
of the requests.

Limit the coordinator to run once per second, and only if there is
work to do. It will still execute the loop once every 10 seconds (or
as defined by the procfs loop_period parameter) to do housekeeping.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: Ide3f061f8943a3088ea713993521897fb74e5d99
Reviewed-on: https://review.whamcloud.com/19341
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/mdt/mdt_coordinator.c
lustre/mdt/mdt_hsm_cdt_client.c
lustre/mdt/mdt_internal.h
lustre/tests/sanity-hsm.sh