[Devel] [PATCH RHEL7 COMMIT] ve/lockdep: Port diff-lockdep-taint-kernel-on-circular-locking-complains

Konstantin Khorenko khorenko at virtuozzo.com
Wed Jun 24 05:32:13 PDT 2015


The commit is pushed to "branch-rh7-3.10.0-123.1.2-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-123.1.2.vz7.5.17
------>
commit 00c12d4146d12b049faef2ed680ecb092131742a
Author: Vladimir Davydov <vdavydov at parallels.com>
Date:   Wed Jun 24 16:32:13 2015 +0400

    ve/lockdep: Port diff-lockdep-taint-kernel-on-circular-locking-complains
    
    Author: Konstantin Khorenko
    Email: khorenko at parallels.com
    Subject: lockdep: taint kernel on circular locking complains
    Date: Mon, 23 Sep 2013 20:04:29 +0400
    
    Currently our QA infrastructure cannot efficiently grep kernel logs
    and analyze them thus lockdep complains are lost.
    
    Let's taint kernel on lockdep complains - that way we will not miss
    possible problems reported by lockdep.
    
    This change is a subject to be rolled back when QA begins to parse kernel
    logs.
    
    Changes from v1:
    * lockdep disables itself due do a number of reasons, we want to catch
      all of them => let's taint kernel on disabling lockdep, does not matter
      due to what exact reason
    
    https://jira.sw.ru/browse/PSBM-22010
    
    Signed-off-by: Konstantin Khorenko <khorenko at parallels.com>
    
    Acked-by: Andrey Vagin <avagin at parallels.com>
    =============================================================================
    
    Author: Andrey Vagin
    Email: avagin at openvz.org
    Subject: lockdep: add tain TAINT_CRAP only once
    Date: Thu, 23 Jan 2014 17:47:36 +0400
    
    And do it after disabling lockdep. Otherwise we can be caught in a loop,
    if debug_locks_off will be called from add_taint().
    
    The 'sysctl -w kernel.tainted=0xffffffff' command does that on
    my host with the 85.6 kernel.
    
    Signed-off-by: Andrey Vagin <avagin at openvz.org>
    
    =============================================================================
    
    Related to https://jira.sw.ru/browse/PSBM-33650
    
    Signed-off-by: Vladimir Davydov <vdavydov at parallels.com>
---
 lib/debug_locks.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lib/debug_locks.c b/lib/debug_locks.c
index 96c4c63..31f24d7 100644
--- a/lib/debug_locks.c
+++ b/lib/debug_locks.c
@@ -42,6 +42,13 @@ int debug_locks_off(void)
 			console_verbose();
 			return 1;
 		}
+
+		/*
+		 * We want to taint kernel so tests can easily detect a lockdep
+		 * related problem reported.
+		 */
+
+		add_taint(TAINT_CRAP, LOCKDEP_STILL_OK);
 	}
 	return 0;
 }



More information about the Devel mailing list