From: Akinobu Mita <akinobu.mita@gmail.com>
To: Don Mullis <dwm@meer.net>
Cc: akpm <akpm@osdl.org>, lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/2 -mm] fault-injection: lightweight code-coverage maximizer
Date: Wed, 29 Nov 2006 11:37:37 +0900 [thread overview]
Message-ID: <20061129023737.GA9283@APFDCB5C> (raw)
In-Reply-To: <1164744877.2894.133.camel@localhost.localdomain>
On Tue, Nov 28, 2006 at 12:14:36PM -0800, Don Mullis wrote:
> First, waiting a few seconds for the standard FC-6 daemons to wake up.
> Then, Xemacs and Firefox. Not tested on SMP.
Is it failslab or fail_page_alloc ?
> > This doesn't maximize code coverage. It makes fault-injector reject
> > any failures which have same stacktrace before.
>
> Since the volume of (repeated) dumps is greatly reduced,
> interval/probability can be set more aggressively without crippling
> interaction. This increases the number of error recovery paths covered
> per unit of wall clock time.
>
It seems artificial. Injecting failures into slab or page allocator causes
vastly greater range of errors and it should be. I feel what you really
want is new fault capability.
Fault injection is designed be extensible. It's not only for failslab,
fail_page_alloc, and fail_make_request.
If we want to inject errors into try_something() and have own tuning or
setting, we just need to extend fault attribute and define own judging
function,
struct fail_try_something_attr {
struct gorgeous_tuning tuning;
struct fail_attr attr;
} = fail_try_something = {
.attr = FAULT_ATTR_INITIALIZER,
};
static int should_fail_try_something(void *data)
{
if (tuning_did_clever_decision(&fail_try_something.tuning, data))
return 0;
return should_fail(&fail_try_something.attr);
}
Then insert it into try_something()
int try_something(void *data)
{
if (should_fail_try_something(data))
return 0;
...
return 1;
}
Common debugfs entries for fault capabilities will be complicated
soon by pushing new entries for every fault case or pattern.
next prev parent reply other threads:[~2006-11-29 2:44 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-28 7:44 [PATCH 1/2 -mm] fault-injection: safer defaults, trivial optimization, cleanup Don Mullis
2006-11-28 7:51 ` [PATCH 2/2 -mm] fault-injection: lightweight code-coverage maximizer Don Mullis
2006-11-28 9:18 ` Akinobu Mita
2006-11-28 20:14 ` Don Mullis
2006-11-29 2:37 ` Akinobu Mita [this message]
2006-11-29 19:47 ` Don Mullis
2006-11-28 21:37 ` [PATCH 1/2 -mm] fault-injection: safer defaults, trivial optimization, cleanup Andrew Morton
2006-11-28 22:50 ` Don Mullis
2006-11-29 0:05 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20061129023737.GA9283@APFDCB5C \
--to=akinobu.mita@gmail.com \
--cc=akpm@osdl.org \
--cc=dwm@meer.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.