From 5fe45f0ff98064561be2ea584879440c26dd0334 Mon Sep 17 00:00:00 2001 From: Sergey Cheremencev Date: Mon, 13 Feb 2023 22:38:23 +0300 Subject: [PATCH] LU-16501 tgt: add qos debug Add several debug lines for QOS allocator. Patch also changes S_CLASS subsystem to S_LOV in lu_tgt_desc_tgt.c thus it can be enabled to capture only QOS debugging. Test-Parameters: trivial Signed-off-by: Sergey Cheremencev Change-Id: I2dd53022d7f199e7c521bbf78acc4a8bf4abca51 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49977 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Alex Zhuravlev Reviewed-by: Oleg Drokin --- lustre/obdclass/lu_tgt_descs.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lustre/obdclass/lu_tgt_descs.c b/lustre/obdclass/lu_tgt_descs.c index 57d93c9..df0d115 100644 --- a/lustre/obdclass/lu_tgt_descs.c +++ b/lustre/obdclass/lu_tgt_descs.c @@ -30,7 +30,7 @@ * */ -#define DEBUG_SUBSYSTEM S_CLASS +#define DEBUG_SUBSYSTEM S_LOV #include #include @@ -226,6 +226,8 @@ void lu_tgt_qos_weight_calc(struct lu_tgt_desc *tgt, bool is_mdt) else ltq->ltq_avail = tgt_statfs_bavail(tgt) >> 8; penalty = ltq->ltq_penalty + ltq->ltq_svr->lsq_penalty; + CDEBUG(D_OTHER, "ltq_penalty: %llu lsq_penalty: %llu tgt_bavail: %llu\n", + ltq->ltq_penalty, ltq->ltq_svr->lsq_penalty, ltq->ltq_avail); if (ltq->ltq_avail < penalty) ltq->ltq_weight = 0; else @@ -633,8 +635,15 @@ int ltd_qos_update(struct lu_tgt_descs *ltd, struct lu_tgt_desc *tgt, /* Set max penalties for this tgt and server */ ltq->ltq_penalty += ltq->ltq_penalty_per_obj * ltd->ltd_lov_desc.ld_active_tgt_count; + CDEBUG(D_OTHER, "ltq_penalty: %llu per_obj: %llu tgt_count: %d\n", + ltq->ltq_penalty, ltq->ltq_penalty_per_obj, + ltd->ltd_lov_desc.ld_active_tgt_count); svr->lsq_penalty += svr->lsq_penalty_per_obj * qos->lq_active_svr_count; + CDEBUG(D_OTHER, "lsq_penalty: %llu per_obj: %llu srv_count: %d\n", + svr->lsq_penalty, svr->lsq_penalty_per_obj, + qos->lq_active_svr_count); + /* Decrease all MDS penalties */ list_for_each_entry(svr, &qos->lq_svr_list, lsq_svr_list) { -- 1.8.3.1