Commit Graph

44 Commits

Author SHA1 Message Date
3ad42e270c fixes for Debian 9
- search for libdwarf.h in new locations (e.g., /usr/include/libdwarf/)
- build Bochs with -std=gnu++98 (gnu++14 is default since GCC 6.1)
- specify "proto2" syntax for protobuf messages
- minor build-system and C++ namespace fixes

Change-Id: I16dbc622c797ef8e936fe3c0fb9b03029d27529d
2017-08-01 14:12:03 +02:00
0317be8f8f cmake: Replace the experiment configuration mechanism
The inline configuration mechanism did work properly for iterated
invocation of cmake. But since the configuration items were set after
the decision was made whether a tool was build or not, they had only
influence on the second run of cmake.

The experiment configuration is no saved in a config.cmake file, which
populates the CMakeCache.txt before any other CMakeLists.txt is read.

Change-Id: I6eca1c6e462af3a241bd9c5b9a27a71a1f5d2829
2014-10-21 17:57:44 +02:00
f7e205f01a experiment/generic-tracing: inline the required configuration
The configuration from weather-monitor was also stripped down to those
values which do not represent the default settings.

Change-Id: I207306e555067156a4ed80edcbcd524137bc8e27
2014-10-21 17:07:57 +02:00
c24e54f2d4 weather-monitor: adapt CMake configuration for experiment
The configuration needed to build this experiment is no noted within the
experiment's CMakeLists.txt. This allows the easy building of this
experiment.

Change-Id: Ifddc4e6a8fa4e63c4656058166f9ef42e46e1edb
2014-10-21 12:41:59 +02:00
a292e192ec weather-monitor: renamed logger object
This change renames the logger object used in weather-monitor from
"log" to "LOG" in order to circumvent potential naming conflicts
with e.g. the log() function from e.g. math.h/cmath.

Change-Id: I73758374f76ea5c29cb636ae3e0685a4a4cceacb
2014-07-25 13:41:51 +02:00
daedb5a4d6 weather-monitor: now uses elfreader
This commit modifies the weather-monitor experiment so that it
uses util/ElfReader instead of "nm -C" in a wrapper-script to
determine the various symbol addresses. experimentInfo.hpp now
only contains (rudimentary) configuration data for the experiment.
Furthermore this commit modularizes the experiment's code so that
there no longer is a humongous run() method.

Change-Id: I42461e1dabb5050af372810bb9fb61a6fccd0d99
2014-07-25 13:41:51 +02:00
c827750090 Merge branch 'failpanda'
Conflicts:
	src/core/comm/DatabaseCampaignMessage.proto.in
	src/core/cpn/CMakeLists.txt
	src/core/cpn/DatabaseCampaign.cc
	src/core/sal/ConcreteCPU.hpp
	src/core/sal/SALConfig.hpp
	src/core/util/CMakeLists.txt

Change-Id: Id86b93d0e3ea4d9963fcc88605eec0603575ec83
2014-06-03 12:24:49 +02:00
0afd619ec3 weather-monitor: use uint32_t for instruction pointer
This fixes a gcc 4.7 warning: comparison between signed and unsigned
integer expressions [-Wsign-compare].

Change-Id: If440567c2767494f456e8e68df29e2f8d1582955
2014-05-08 16:26:50 +02:00
396e00ce59 cmake: static library dependencies
CMake does not support linker groups, which were used to "automatically"
fix circular dependencies between different static FAIL* libraries and
the ordering of dynamic external libraries broke linking.
CMake can however correctly invoke the linker if dependencies are decribed
correctly (even if circular). This required changing all add_dependencies
calls between libraries to target_link_libraries (which creates a link-time
dependency) and linking all experiments to fail-sal.

Change-Id: I3a0d5dddb9b3d963ef538814e20d6b3de85d4ec5
2014-03-24 11:47:46 +01:00
4cb97a7fa5 formatting, typos, comments, details
Change-Id: Iae5f1acb653a694622e9ac2bad93efcfca588f3a
2014-01-22 13:08:13 +01:00
122eb8c9dc use uint32 for addresses in protobuf msgs
This prevents integer overflows when using addresses > 2GiB, which are
common for x86 operating systems with paging (Linux, Fiasco.OC) or
some test cases on the PandaBoard.

Note that this results in slightly different result table definitions
when automatically translating an experiment's protobuf message in the
DatabaseCampaign.

This change affects all existing protobuf messages to prevent
copy/paste propagation of this issue.

Change-Id: I09ec4b9d45eddd67a7a24c8b101e8b2b258df5e2
2014-01-21 00:08:41 +01:00
5ac108ea4b Merge branch 'mysql-concurrency-fixes' 2014-01-20 18:35:35 +01:00
84aac60a70 use libmysqlclient_r to ensure thread safety
According to
<http://dev.mysql.com/doc/refman/5.5/en/c-api-threaded-clients.html>,
(potentially) threaded clients should use the reentrant
libmysqlclient_r.  This is just a precaution, I haven't seen any
issues with the normal libmysqlclient.

Change-Id: Icb29df6dd54eb666e3b43b73fbda406acccd11cb
2014-01-20 18:34:51 +01:00
34065fea60 weather-monitor: command line parameter are forwarded now
Parameters that are specified on the command line are now also forwarded.

Change-Id: I0e636f14dba43ef7877ce6e6deca1abb1f00a8a6
2014-01-03 16:38:02 +01:00
0907dfb0ae weather-monitor: now is a DatabaseCampaign
"removed" unneccessary memory-mapping ("Step 0")
cleaned out ExperimentData - now consists only of fsppilot and resultset
resultset now contains bitoffset which is part of result-table's primary key
adapted code to work with msg.fsppilot() instead of ExperimentData-values

Change-Id: I3b310e7a71d4b28479028250cd5722b3b2ce9f8c
2013-12-11 14:38:01 +01:00
b37a475dfd campaign-controlled experiments depend on fail-comm library
An experiment talking to a campaign server via the JobClient/JobServer
interface needs the FailControlMessage.proto compiler to run before the
experiment is compiled.  A dependency on fail-comm ensures this.
2013-03-19 22:21:42 +01:00
5182f3855e weather-monitor experiment updated
The loop is running now until undone already fetched jobs are available.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2043 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 16:33:46 +00:00
55f5d6a051 weather-monitor: changes due to new Fail architecure
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2021 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-24 13:26:26 +00:00
ff7d2ec076 experiment.cc (weather-monitor) restored
The file was accidentally overwritten during last commit... :/

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2015 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-23 14:32:56 +00:00
00f809231f Code cleanup for commit 1963-1965
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2014 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-23 14:22:05 +00:00
125914a305 BochsRegister.hpp and BochsRegisterIDs.hpp not needed anymore
The includes of these headers have already been removed from the experiments. In the current code, the content of the header BochsRegister.hpp is rather simply copied to x86/Architecture.hpp. It is therefore necessary to revisit the code soon (especially the FIXME related to register IDs).

Another problem is that there is no generalization of register IDs. Thus, all experiments are currently specific to a concrete architecture (which is not desired).

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2010 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-17 13:41:23 +00:00
hsc
a911ebb353 Revert "explicit aspect activation"
Unfortunately, this does not (yet) work as advertised.  I need to fight another
round of CMake battles before retrying.  Reverting to previous state for now.

This reverts r1753.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1767 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-19 09:45:00 +00:00
hsc
a29ad39f5e explicit aspect activation
ag++ is now called with a list of currently active aspect headers
(ag++ -a aspect1.ah -a aspect2.ah ...).  This resolves several problems at
once:
 -  Build directories may be positioned arbitrarily now, they need not be
    a subdirectory of the project anymore.
 -  Multiple build directories can coexist within the project tree.  Before
    this commit, the generated instantiate-*.ah aspect headers disturbed
    neighboring build trees.
 -  Due to this, the regression test should be runnable much more easily
    now.
 -  The build time was reduced by an average of about 10%.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1753 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-17 15:22:23 +00:00
1a9a72eaf4 Fixed incomplete target name
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1703 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-01 07:56:16 +00:00
hsc
d983aecf73 added missing dependencies on protobuf library
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1672 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-20 17:22:05 +00:00
hsc
f9c96ddf2d prefix internal libraries to avoid naming conflicts with system libraries
This is a precaution to avoid current and future naming conflicts with
common system libraries.  libutil (part of libc) is the first, but probably
not the last example that already caused trouble twice.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1614 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 07:52:30 +00:00
hsc
e56918e40e centralized and cmake-based campaign server+port config
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1590 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-04 13:57:01 +00:00
chb
e6546c1365 limit number of sequential FAIL* experiments to 50, in order to prevent swapping
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1494 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-15 11:05:27 +00:00
2076d21e61 Experiment updates due to last commit.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1449 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-12 10:45:39 +00:00
hsc
9d0bb7b6b5 install targets for fail-client and server
"make install" installs both fail-client and the campaign server, if the
experiment provides one.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1414 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-03 13:27:07 +00:00
hsc
5f7ca1bc7b wmoo: 400x fault-space pruning speedup
next steps:
 -  modularize single-bit flip fault-space pruning
 -  use improved method in other experiments (esp. checksum-oostubs)

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1383 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-22 14:03:56 +00:00
e586f9d844 wmoo: TimerEvent constructor fix.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1367 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-21 11:04:16 +00:00
hsc
33772f750e wmoo: don't do more experiments than necessary
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1353 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-14 15:54:03 +00:00
hsc
784c05572e wmoo: store more details on broken result data
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1346 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-13 16:43:22 +00:00
hsc
87f3ed10b4 wmoo: don't send a fishy result set
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1345 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-13 16:43:18 +00:00
hsc
10c68fdb9d wmoo: don't trace more than necessary
Currently we're tracing until four main loop iterations are completed.
The campaign uses the complete trace to span the fault space, but we
cut it off afterwards for comparability reasons (same width as vanilla).

This (disabled) patch executes only the actually necessary number of
experiments in the first place.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1342 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-13 12:53:36 +00:00
hsc
c250d58e21 wmoo: remove events before leaving their scope
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1341 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-13 12:53:32 +00:00
d48f4d0f69 wmoo: TimerEvent bugfix (the event needs to be deleted explicitly).
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1340 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-13 11:37:33 +00:00
hsc
4ff6871482 wmoo: experimentInfo update for new wmoo images
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1335 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-12 15:13:28 +00:00
hsc
6447c52355 wmoo: properly deal with timeouts (e.g., stuck in HLT)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1334 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-12 15:13:24 +00:00
hsc
ff29f900ec wmoo: trace and sim-state suffix
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1333 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-12 15:13:21 +00:00
hsc
2562df92e2 wmoo campaign: show elapsed time
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1332 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-12 15:13:18 +00:00
hsc
00bcf3986e statename variable is not unused
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1326 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-11 13:48:16 +00:00
2575604b41 Fail* directories reorganized, Code-cleanup (-> coding-style), Typos+comments fixed.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1321 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-08 20:09:43 +00:00