diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index 8f18e9d6f34759781c24a0816a51ddab3efeabf1..aa5ac4c5f199abe92df0d7a19d5dff41790391d2 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -191,6 +191,14 @@ Details    : Because the stride_start_offset are missing in stride read-ahead,
 	     it will cause clients read a lot of unused pages in read-ahead,
 	     then the read-performance drops.
 
+Severity   : normal
+Bugzilla   : 15953
+Description: more ldlm soft lockups
+Details    : In ldlm_resource_add_lock(), call to ldlm_resource_dump()
+             starve other threads from the resource lock for a long time in
+	     case of long waiting queue, so change the debug level from
+	     D_OTHER to the less frequently used D_INFO.
+
 -------------------------------------------------------------------------------
 
 
diff --git a/lustre/ldlm/ldlm_resource.c b/lustre/ldlm/ldlm_resource.c
index 7d9356ff872d410a22766a48915ca0003276d7c5..d63f45f7d267643a3f0777a1ae4ff27a84bd277b 100644
--- a/lustre/ldlm/ldlm_resource.c
+++ b/lustre/ldlm/ldlm_resource.c
@@ -976,9 +976,9 @@ void ldlm_resource_add_lock(struct ldlm_resource *res, struct list_head *head,
 {
         check_res_locked(res);
 
-        ldlm_resource_dump(D_OTHER, res);
-        CDEBUG(D_OTHER, "About to add this lock:\n");
-        ldlm_lock_dump(D_OTHER, lock, 0);
+        ldlm_resource_dump(D_INFO, res);
+        CDEBUG(D_INFO, "About to add this lock:\n");
+        ldlm_lock_dump(D_INFO, lock, 0);
 
         if (lock->l_destroyed) {
                 CDEBUG(D_OTHER, "Lock destroyed, not adding to resource\n");