diff options
author | Don Mullis <dwm@meer.net> | 2006-12-08 05:39:53 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-08 11:29:03 -0500 |
commit | f1729c28a37e4f11ea5d9f468ab26adadb1aadab (patch) | |
tree | 0b4e6a6aa6bd44dee5a15269210e0aa5be8b3565 /lib | |
parent | a124c28ef85d9b780c418b2c5d8f01cd6a06ff3e (diff) |
[PATCH] fault-injection: optimize and simplify should_fail()
Trivial optimization and simplification of should_fail().
Do cheaper disqualification tests first (performance gain not quantified).
Simplify logic; eliminate goto.
Signed-off-by: Don Mullis <dwm@meer.net>
Cc: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/fault-inject.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/fault-inject.c b/lib/fault-inject.c index 5da665ac2d89..d143c0faf248 100644 --- a/lib/fault-inject.c +++ b/lib/fault-inject.c | |||
@@ -142,9 +142,6 @@ bool should_fail(struct fault_attr *attr, ssize_t size) | |||
142 | if (attr->task_filter && !fail_task(attr, current)) | 142 | if (attr->task_filter && !fail_task(attr, current)) |
143 | return false; | 143 | return false; |
144 | 144 | ||
145 | if (!fail_stacktrace(attr)) | ||
146 | return false; | ||
147 | |||
148 | if (atomic_read(&attr->times) == 0) | 145 | if (atomic_read(&attr->times) == 0) |
149 | return false; | 146 | return false; |
150 | 147 | ||
@@ -159,12 +156,12 @@ bool should_fail(struct fault_attr *attr, ssize_t size) | |||
159 | return false; | 156 | return false; |
160 | } | 157 | } |
161 | 158 | ||
162 | if (attr->probability > random32() % 100) | 159 | if (attr->probability <= random32() % 100) |
163 | goto fail; | 160 | return false; |
164 | 161 | ||
165 | return false; | 162 | if (!fail_stacktrace(attr)) |
163 | return false; | ||
166 | 164 | ||
167 | fail: | ||
168 | fail_dump(attr); | 165 | fail_dump(attr); |
169 | 166 | ||
170 | if (atomic_read(&attr->times) != -1) | 167 | if (atomic_read(&attr->times) != -1) |