lkml.org 
[lkml]   [2015]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [tip:locking/core] futex: Fault/error injection capabilities
On Mon, Jul 20, 2015 at 03:57:58AM -0700, tip-bot for Davidlohr Bueso wrote:
> Commit-ID: ab51fbab39d864f3223e44a2600fd951df261f0b
> Gitweb: http://git.kernel.org/tip/ab51fbab39d864f3223e44a2600fd951df261f0b
> Author: Davidlohr Bueso <dave@stgolabs.net>
> AuthorDate: Mon, 29 Jun 2015 23:26:02 -0700
> Committer: Thomas Gleixner <tglx@linutronix.de>
> CommitDate: Mon, 20 Jul 2015 11:45:45 +0200
>
> 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.

If you enable any of the fault injection modules, ie, like you demonstrate here:

> +- /sys/kernel/debug/fail_futex/ignore-private:
> +
> + Format: { 'Y' | 'N' }
> + default is 'N', setting it to 'Y' will disable failure injections
> + when dealing with private (address space) futexes.
> +

each pid gets a a make-it-fail file in /proc/self/. If present, trinity will set this to 1
for child processes.

So it should work today unless I've missed something.

Dave


\
 
 \ /
  Last update: 2015-07-20 17:01    [W:0.049 / U:0.764 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site