Commit Graph

479 Commits

Author SHA1 Message Date
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
hsc
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
hsc
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
hsc
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
hsc
9038e7f603 increase pick window size for job reassignments
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1853 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-26 17:31:38 +00:00
hsc
720a59cfde runcampaign.sh uses start-clients.sh instead of duplicating code
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1852 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-26 17:31:35 +00:00
hsc
3353bad6c6 number of clients per CPU = 1
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1851 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-26 17:31:31 +00:00
hsc
3dcc684400 read(2)/write(2) wrappers for reliable delivery
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1850 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-26 16:13:41 +00:00
hsc
55dd79cc03 cosmetics
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1849 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-26 16:13:36 +00:00
hsc
5a5367beee nanojpeg: complete fault-space coverage by closing ECs in the end
As we don't know what happens after the "right margin" of the specified
fault space (specified by trace length, or an explicit instruction limit),
we need to do one FI experiment for every register/bit in the end.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1847 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-26 14:27:35 +00:00
hsc
05217d77d9 nanojpeg: more thorough output address check
This prevents the experiment trying to read from invalid guest-system
addresses.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1846 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-26 14:27:32 +00:00
34d89000cf ecos_kernel_test: simplification (no need to call clearListeners() here).
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1843 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-25 15:52:55 +00:00
e8f715f8af comment-fix (not comprehensible this way)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1842 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-25 15:51:20 +00:00
6b1f457662 bugfix: onDeletion() cannot be called on listeners in the fire-list. (+ simplified makeActive().)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1841 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-25 15:49:25 +00:00
12f3550428 Reboot-test optimized
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1833 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-25 12:39:09 +00:00
1eb8ac6870 Bugfix: missing header added
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1832 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-25 12:36:56 +00:00
hsc
22cd362cc7 gem5: only enable Gem5Listener.ah when building gem5
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1825 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 23:40:10 +00:00
hsc
14ca377a85 nanojpeg: run 200 experiments, not 50 jobs
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1824 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 22:35:49 +00:00
hsc
bd3bef1f72 nanojpeg: load existing results before starting campaign
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1823 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 22:35:46 +00:00
hsc
4fb768972b nanojpeg: allow CSV output to be buffered
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1822 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 22:35:43 +00:00
hsc
6c204d2a93 don't distribute to lidong by default
We currently need to apply extra care before deploying Fail* jobs on the
Lido-NG cluster.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1821 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 22:32:05 +00:00
e0e95faa5b Restructured the gem5 backend:
- FailGem5Device is gone.
- There are now changes directly made to the gem5 source.
- Gem5Connector is a helper class that is compiled inside the gem5 context to workaround problems with gem5 header in fail.

Things that are working:
- BPSingleListener
- MemAccessListener
- Save and restore simulator state

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1820 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 19:19:14 +00:00
b41eec3f65 Adding gem5 source to svn.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1819 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 19:18:57 +00:00
hsc
f7ff71bd46 Revert "ListenerManager bugfix (segfault): [...]"
This commit *introduced* a segfault to the nanojpeg experiment.  Indeed there is
no point in clearing m_FireList here:

 1. Multiple active listeners match an event coming from the simulator.  These
    listeners are moved from their queue to m_FireList.
 2. In a loop iterating over m_FireList, one of the listeners is triggered
    (ListenerManager::triggerActiveListeners()).  Context switches to an
    experiment.  The experiment explicitly (or implicitly, e.g., by terminating)
    calls simulator.clearListeners().
 3. ListenerManager::remove() clears all active (but not currently fired, or
    about to be fired) listeners from the main listener queue (and additionally
    all type-specific special containers).  To prevent the "about to be fired"
    listeners to fire, they are copied to m_DeleteList.
 4. The loop mentioned in 2. does not trigger any listener mentioned in
    m_DeleteList.  Afterwards, m_FireList (and m_DeleteList) is cleared.

Clearing m_FireList in step 3 invalidates the iterator used in the loop from
steps 2 and 4.  In fact, this problem was the reason we introduced the
m_DeleteList workaround in the first place.

This reverts commit r1817.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1818 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 15:40:57 +00:00
8588617a86 ListenerManager bugfix (segfault): clear fire-list when clearListener() is called (this revealed a bug in reboot() which needs to be fixed too).
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1817 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 13:42:05 +00:00
hsc
4dcee177be nanojpeg: receive/store results, merge identical neighbors
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1816 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 09:58:59 +00:00
hsc
554d80139a nanojpeg: timeout reduced, instructions limited (temporarily)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1815 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 09:58:56 +00:00
hsc
f61db1ff39 nanojpeg: psnr is optional
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1814 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 09:58:53 +00:00
hsc
1585b4a614 nanojpeg: signedness fixes
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1813 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 09:58:50 +00:00
hsc
8808eabc3c bugfix: multiple CMAKE_AGPP_FLAGS
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1812 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 09:58:48 +00:00
hsc
bb621aac82 nanojpeg: uint32_t for IPs in protobuf message
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1811 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 09:58:45 +00:00
hsc
3de22e1b10 nanojpeg: count both jobs and single experiments
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1810 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 09:58:42 +00:00
hsc
2b1e4edd6b nanojpeg: store known-outcome results, enqueue jobs
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1809 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 09:58:39 +00:00
hsc
892e5f86f0 nanojpeg: use absolute IP from trace
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1808 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 09:58:36 +00:00
hsc
b167b21de6 nanojpeg: handle known-outcome ECs
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1807 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 09:58:33 +00:00
hsc
6af5689cce nanojpeg: cosmetics, updated CSV header
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1806 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-24 09:58:26 +00:00
hsc
f74954f460 nanojpeg: more diagnostic info for weird BROKEN cases
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1802 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-23 13:36:06 +00:00
hsc
c5304c0c31 nanojpeg: detect rogue memory accesses
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1801 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-23 13:36:03 +00:00
hsc
8de290f47d nanojpeg: experiment largely complete
- utilizes ELF reader to find symbols
 - retrieves generated image from guest system and calculates PSNR

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1798 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-22 21:13:20 +00:00
hsc
781fbf1f4e elfreader: be less verbose
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1797 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-22 21:13:16 +00:00
hsc
41cf5e1352 nanojpeg: campaign's fault-space pruning works now
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1795 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-22 15:36:18 +00:00
hsc
1ae19893ea nanojpeg: debug output (missing opcode information)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1794 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-22 15:36:15 +00:00
hsc
d26fc600da nanojpeg: helper for Udis86 -> Fail* register ID translation
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1793 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-22 15:36:12 +00:00
hsc
0d1618746c sal/bochs: move register IDs to a separate file
This is necessary as a temporary fix: Currently, campaign code cannot use
Fail*'s architecture abstractions at all (e.g., we cannot iterate over all
existing GP registers).  Until this is corrected by separating a concrete
backend and architecture information (the latter being usable by a
campaign), we now at least can use register IDs.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1792 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-22 15:36:09 +00:00
hsc
069cd42d4d nanojpeg: recognize more opcodes for -O3 variant
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1791 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-22 15:36:06 +00:00
hsc
8d96c50bfb nanojpeg: default timeout
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1790 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-22 15:35:59 +00:00
hsc
bf8702e4a2 nanojpeg: determine IN/OUT/INOUT registers, handle implicit accesses
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1779 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-22 10:55:45 +00:00
hsc
2b5a2161df nanojpeg: campaign work-in-progress
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1778 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-19 17:52:31 +00:00