Whamcloud - gitweb
LU-12524 libcfs: Reduce memory frag due to HA debug msg 49/35449/4
authorAnn Koehler <amk@cray.com>
Mon, 8 Jul 2019 21:36:24 +0000 (16:36 -0500)
committerOleg Drokin <green@whamcloud.com>
Wed, 17 Jul 2019 06:22:04 +0000 (06:22 +0000)
The dynamic allocation and freeing of Lustre trace pages has been
shown to cause memory fragmentation that sometimes prevents
applications from getting the contiguous memory they need to run. In
one such occurrence over 99% of the messages were the matched open
trace messages issued by mdc_close():

DEBUG_REQ(D_HA, mod->mod_open_req, "matched open; tag %d", tag);

D_HA is included in the default set of debug flags. This has proven
to be quite useful in debugging connection issues particularly at
mount time. So removing all HA message from the default tracing is
not a good option.

However, the matched open debug message has not proven itself to be
as generally useful. So moving the message under a different debug
flag, one that must be explicitly enabled, reduces the amount of
default tracing and thereby helps reduce fragmentation without
causing much loss of functionality. Using D_RPCTRACE to match the
corresponding open debug message in mdc_set_open_replay_data.

Test-Parameters: trivial
Cray-bug-id: LUS-7560
Signed-off-by: Ann Koehler <amk@cray.com>
Change-Id: Iee267fba517c20b82dccf8d2ac10f8e7f15354f8
Reviewed-on: https://review.whamcloud.com/35449
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/mdc/mdc_request.c

index 855ce59..a432422 100644 (file)
@@ -930,7 +930,7 @@ static int mdc_close(struct obd_export *exp, struct md_op_data *op_data,
 
                mod->mod_close_req = req;
 
-               DEBUG_REQ(D_HA, mod->mod_open_req, "matched open");
+               DEBUG_REQ(D_RPCTRACE, mod->mod_open_req, "matched open");
                /* We no longer want to preserve this open for replay even
                 * though the open was committed. b=3632, b=3633 */
                spin_lock(&mod->mod_open_req->rq_lock);