diff options
author | Davidlohr Bueso <dave@stgolabs.net> | 2015-06-29 23:26:02 -0700 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2015-07-20 11:45:45 +0200 |
commit | ab51fbab39d864f3223e44a2600fd951df261f0b (patch) | |
tree | cd8106193d0d15b9690a8e80ceec85d202f8e1cb /lib | |
parent | 767f509ca11269c2bcd92e3972a93096f2173ac0 (diff) | |
download | linux-ab51fbab39d864f3223e44a2600fd951df261f0b.tar.gz linux-ab51fbab39d864f3223e44a2600fd951df261f0b.tar.bz2 linux-ab51fbab39d864f3223e44a2600fd951df261f0b.zip |
futex: Fault/error injection capabilities
Although futexes are well known for being a royal pita,
we really have very little debugging capabilities - except
for relying on tglx's eye half the time.
By simply making use of the existing fault-injection machinery,
we can improve this situation, allowing generating artificial
uaddress faults and deadlock scenarios. Of course, when this is
disabled in production systems, the overhead for failure checks
is practically zero -- so this is very cheap at the same time.
Future work would be nice to now enhance trinity to make use of
this.
There is a special tunable 'ignore-private', which can filter
out private futexes. Given the tsk->make_it_fail filter and
this option, pi futexes can be narrowed down pretty closely.
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Darren Hart <darren@dvhart.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Link: http://lkml.kernel.org/r/1435645562-975-3-git-send-email-dave@stgolabs.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Kconfig.debug | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index e2894b23efb6..22554d6f720f 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -1542,6 +1542,13 @@ config FAIL_MMC_REQUEST and to test how the mmc host driver handles retries from the block device. +config FAIL_FUTEX + bool "Fault-injection capability for futexes" + select DEBUG_FS + depends on FAULT_INJECTION && FUTEX + help + Provide fault-injection capability for futexes. + config FAULT_INJECTION_DEBUG_FS bool "Debugfs entries for fault-injection capabilities" depends on FAULT_INJECTION && SYSFS && DEBUG_FS |