diff --git a/src/experiments/ecos_kernel_test/campaign.cc b/src/experiments/ecos_kernel_test/campaign.cc index 0a109720..1f2f7b67 100644 --- a/src/experiments/ecos_kernel_test/campaign.cc +++ b/src/experiments/ecos_kernel_test/campaign.cc @@ -43,10 +43,11 @@ bool EcosKernelTestCampaign::readMemoryMap(fail::MemoryMap &mm, char const * con return (count > 0); } -bool EcosKernelTestCampaign::writeTraceInfo(unsigned instr_counter, unsigned timeout, unsigned lowest_addr, unsigned highest_addr) { - ofstream ti(filename_traceinfo().c_str(), ios::out); +bool EcosKernelTestCampaign::writeTraceInfo(unsigned instr_counter, unsigned timeout, unsigned lowest_addr, unsigned highest_addr, + const std::string& variant, const std::string& benchmark) { + ofstream ti(filename_traceinfo(variant, benchmark).c_str(), ios::out); if (!ti.is_open()) { - cout << "failed to open " << filename_traceinfo() << endl; + cout << "failed to open " << filename_traceinfo(variant, benchmark) << endl; return false; } ti << instr_counter << endl << timeout << endl << lowest_addr << endl << highest_addr << endl; diff --git a/src/experiments/ecos_kernel_test/campaign.hpp b/src/experiments/ecos_kernel_test/campaign.hpp index beff2f19..d6b25389 100644 --- a/src/experiments/ecos_kernel_test/campaign.hpp +++ b/src/experiments/ecos_kernel_test/campaign.hpp @@ -49,7 +49,7 @@ public: count_exp(0), count_exp_jobs(0), count_known(0), count_known_jobs(0) {} virtual bool run(); static bool readMemoryMap(fail::MemoryMap &mm, char const * const filename); - static bool writeTraceInfo(unsigned instr_counter, unsigned timeout, unsigned lowest_addr, unsigned highest_addr); + static bool writeTraceInfo(unsigned instr_counter, unsigned timeout, unsigned lowest_addr, unsigned highest_addr, const std::string& variant = "", const std::string& benchmark = ""); static bool readTraceInfo(unsigned &instr_counter, unsigned &timeout, unsigned &lowest_addr, unsigned &highest_addr, const std::string& variant = "", const std::string& benchmark = ""); static std::string filename_memorymap(const std::string& variant = "", const std::string& benchmark = ""); static std::string filename_state(unsigned instr_offset, const std::string& variant = "", const std::string& benchmark = ""); diff --git a/src/experiments/ecos_kernel_test/experiment.cc b/src/experiments/ecos_kernel_test/experiment.cc index bdfe30ed..724593df 100644 --- a/src/experiments/ecos_kernel_test/experiment.cc +++ b/src/experiments/ecos_kernel_test/experiment.cc @@ -252,7 +252,8 @@ bool EcosKernelTestExperiment::performTrace(guest_address_t addr_entry, guest_ad log << dec << "elapsed simulated time (plus safety margin): " << (estimated_timeout * TIMER_GRANULARITY / 1000000.0) << "s" << endl; // save these values for experiment STEP 3 - EcosKernelTestCampaign::writeTraceInfo(instr_counter, estimated_timeout, lowest_addr, highest_addr); + EcosKernelTestCampaign::writeTraceInfo(instr_counter, estimated_timeout, + lowest_addr, highest_addr, m_variant, m_benchmark); simulator.removeFlow(&tp);