4cce602bca
ecos: actually enqueue jobs
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1928 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-13 00:17:33 +00:00
7b3e5986d1
ecos: save experiment runtime
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1927 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-13 00:17:31 +00:00
077f7ea507
ecos: load existing results on campaign startup
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1926 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-13 00:17:28 +00:00
61ab977f01
bugfix: read(2) returns 0 on EOF
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1925 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-13 00:17:25 +00:00
97299ba370
util/WallclockTimer: (float) cast operator
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1924 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-13 00:17:22 +00:00
9decf95a09
ecos: specific traps are OK for two benchmarks
...
The "except1" and "clockcnv" benchmarks explicitly cause a trap and handle
it in their own trap handler. This, of course, isn't a bad experiment
outcome.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1923 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-13 00:17:18 +00:00
a0e6ddd519
ecos: fault-space cutoff specific for this campaign
...
For the eCos kernel test campaign we define a relatively "special" metric
to compare FI results from different applications: Instead of aligning
the fault-space dimensions (e.g., by artificially adding "don't care" space
to the right for shorter application variants), we only keep the data
address axis constant. The rationale behind this is that -- despite the
benchmark applications' run-to-completion behavior -- an operating system's
scheduler usually runs ad infinitum, and that we therefore can extrapolate
from a short application run to any longer period.
In essence, this means we use a failure/experiment-length quotient (ignoring
the Y axis for simplicity, as it is constant in size) to compare
application variants, instead of an absolute failure count. One important
side effect is that we do not punish any application slowdown with this
metric. (And simply prolongating non-susceptible program sections with,
e.g., NOPs, seemingly "improves" fault tolerance.)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1922 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-12 13:55:45 +00:00
6f98d64613
bugfix: racecondition removed
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1921 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-12 11:46:26 +00:00
464bc9390b
ecos: campaign rewritten
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1920 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-12 10:59:35 +00:00
a02088b33e
enable support for large (>2G) files
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1919 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-12 10:59:32 +00:00
283d946295
ecos: no need for experimentInfo.hpp.sh anymore
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1918 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-12 10:59:28 +00:00
1b5bbba0e5
Handled a kind of wicked error case which nevertheless happens quite frequently
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1917 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-11 11:37:08 +00:00
35b1d0203e
CampaignManager: destructor / cleanup
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1916 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-10 16:18:40 +00:00
86ba9cb377
CampaignManager: only instantiate JobServer when needed
...
As we have a global CampaignManager instance in the fail-cpn library, a
JobServer member variable is not such a good idea. Essentially, we started
all JobServer threads (which is done in its constructor) within a
fail-client before this commit.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1915 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-10 16:14:06 +00:00
4957cfb71b
ecos: remove hard-coded trace filename
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1913 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-10 16:13:59 +00:00
0ab4f12b7c
ecos: no need for clearListeners anymore
...
Since r1700, listeners remove themselves when they leave their scope.
A restore() call also implicitly clears all listeners.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1912 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-09 15:37:33 +00:00
661563125e
ecos: cosmetics / compiler warning
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1910 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-09 15:37:27 +00:00
1292b66043
ecos: image/prerequisite/result path naming changes
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1909 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-09 15:37:24 +00:00
c2242f2bb4
ecos: guest-image independent fail client
...
TODO: campaign needs to be updated, too
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1908 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-09 15:37:21 +00:00
805f67e23c
ElfReader: return ADDR_INV instead of (signed) -1 on failure
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1907 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-09 15:37:18 +00:00
a26aeb52ee
ecos: preparations for guest-image independent fail client
...
Additional change: prerequisite data files are not opened in append mode
anymore. These files can be easily reproduced, and append mode does more harm
than good here.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1906 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-09 15:37:14 +00:00
bbf7731aa2
fast-watchpoints: implementation finished (and tested).
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1900 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-08 13:36:08 +00:00
ddbab2e903
build-system: separated fast-breakpoints, added fast-watchpoints.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1899 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-08 13:35:22 +00:00
4a6b576b18
fast-breakpoints: created template class DefPerfVector, realizing the buffer interface. Modified PerfVectorBreakpoints appropriately.
...
This is useful to reuse the DefPerfVector class for fast-watchpoints, too.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1898 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-08 13:18:40 +00:00
148b0bb483
fast-breakpoints: work even if fast-watchpoints are enabled (TODO removed).
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1897 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-08 13:07:02 +00:00
5648093ffe
fast-breakpoints: use explicit namespace qualifier in aspect header.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1896 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-08 13:05:05 +00:00
e337fef205
perf-test: further results added
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1895 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-08 12:59:43 +00:00
2eb18c81ac
perf-test: code improved.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1894 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-08 12:59:16 +00:00
126fb1a1ff
ecos_kernel_test: remove 2nd reboot (which was just before a restore)
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1889 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-07 16:01:35 +00:00
4cef94a016
Removed the recommendation of repeat-speedups to avoid misunderstandings (see revision 1885)
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1888 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-07 09:02:12 +00:00
9c3755363b
bochs bugfix: store the timer ID for correct deregistration
...
Over a few indirections, this broke Bochs' 16550 UART simulation after
transferring a few hundreds of bytes. The UART uses internal timers to
simulate the configured baud rate; these timers cease to work after
repeated misuse from the Fail/Bochs bridge.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1887 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-06 18:29:45 +00:00
1668e21ce1
bochs: removed preprocessor nonsense
...
It doesn't make sense to let timer (de)registration depend on
CONFIG_EVENT_BREAKPOINTS.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1886 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-06 18:29:41 +00:00
1f8dfd01e9
bochs: trace REP/REPZ/REPNZ iterations
...
This allows single-stepping through REP/REPZ/REPNZ iterations. We mainly
need this for a little more realistic timing model when, e.g., copying
large memory areas with REP MOVSB.
Be aware that memory-access tracing only works reliably for REPxx-prefixed
instructions if Bochs was configured with --disable-repeat-speedups, as
this Bochs optimization completely circumvents the usual memory access
paths.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1885 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-06 15:43:24 +00:00
0b8710872b
Removed BochController debug stuff. Merged: BochsController::onBreakpoint -> SimCon::onBreakpoint.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1883 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-06 11:40:05 +00:00
b7bbcd389f
ecos_kernel_test: record error detected/corrected
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1882 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-06 10:51:41 +00:00
9e5de7b14a
ecos_kernel_test bugfix: timer granularity of 10s is way too coarse
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1877 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-02 16:59:07 +00:00
cb3775b290
Ensuring parsability in case of exceptions
...
by removing unnecessary newline characters
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1874 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-01 13:28:52 +00:00
1423fb93dd
Removed instruction vector to reduce memory consumption
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1873 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-01 09:23:45 +00:00
163be81874
rampage: final experiment parameters, for the records
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1872 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-31 15:07:01 +00:00
e1dcbece88
limit fail-client instances on "big" IRB servers by default
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1871 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-31 15:06:58 +00:00
4ec51b003a
bugfix: WallclockTimer::operator<< must be inlined to prevent multiple defs.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1869 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-31 12:42:48 +00:00
dd17034fce
WallclockTimer: coding style unifications.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1867 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-30 12:15:26 +00:00
ccc4aca728
Forgot to cast the type
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1866 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-30 11:09:59 +00:00
22634f6103
Minor bugfix
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1865 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-30 10:59:27 +00:00
7ae8b6b09d
Introduces instruction filtering, e.g. to filter for kernel instructions
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1864 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-30 09:14:33 +00:00
247fed5aa7
Gem5: Implemented MemoryManager
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1863 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-28 23:50:08 +00:00
66fe662495
Gem5: functionalAccess() should not trigger memory access
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1862 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-28 23:50:06 +00:00
4a48b6c20c
nanojpeg: deleting result sets after handling them is not racy
...
Deleting result sets after retrieving them from the "done" queue is /not/
racy. This obviously was a misinterpretation of crashes with other
campaigns.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1861 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-27 23:18:27 +00:00
4e26205aef
nanojpeg: count existing experiments and CSV rows
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1855 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-26 17:31:44 +00:00
8f39aa9717
nanojpeg: correct experiment count
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1854 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-26 17:31:41 +00:00