mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
blinktree: Updated PMC definitions for AMD Epyc.
This commit is contained in:
@@ -14,7 +14,8 @@ using namespace benchmark;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
[[maybe_unused]] PerfCounter Perf::L1_MISSES = {"l1-miss", Genode::Trace::Performance_counter::Type::CORE, 0x43, 0x5b};
|
[[maybe_unused]] PerfCounter Perf::L1_DTLB_MISSES = {"l1-dtlb-miss", Genode::Trace::Performance_counter::Type::CORE, 0x45, 0xff};
|
||||||
|
[[maybe_unused]] PerfCounter Perf::L1_ITLB_MISSES = {"l1-itlb-miss", Genode::Trace::Performance_counter::Type::CORE, 0x85, 0x0};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Counter "LLC Misses"
|
* Counter "LLC Misses"
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ public:
|
|||||||
}
|
}
|
||||||
catch (Genode::Trace::Pfc_access_error &e)
|
catch (Genode::Trace::Pfc_access_error &e)
|
||||||
{
|
{
|
||||||
std::cerr << "Failed to start counter: " << e.error_code() << std::endl;
|
std::cerr << "Failed to start counter " << _counter << " " << _name << ": " << static_cast<uint16_t>(e.error_code()) << std::endl;
|
||||||
}
|
}
|
||||||
return _prev.value >= 0;
|
return _prev.value >= 0;
|
||||||
}
|
}
|
||||||
@@ -115,7 +115,8 @@ class Perf
|
|||||||
public:
|
public:
|
||||||
[[maybe_unused]] static PerfCounter INSTRUCTIONS;
|
[[maybe_unused]] static PerfCounter INSTRUCTIONS;
|
||||||
[[maybe_unused]] static PerfCounter CYCLES;
|
[[maybe_unused]] static PerfCounter CYCLES;
|
||||||
[[maybe_unused]] static PerfCounter L1_MISSES;
|
[[maybe_unused]] static PerfCounter L1_DTLB_MISSES;
|
||||||
|
[[maybe_unused]] static PerfCounter L1_ITLB_MISSES;
|
||||||
[[maybe_unused]] [[maybe_unused]] static PerfCounter LLC_MISSES;
|
[[maybe_unused]] [[maybe_unused]] static PerfCounter LLC_MISSES;
|
||||||
[[maybe_unused]] static PerfCounter LLC_REFERENCES;
|
[[maybe_unused]] static PerfCounter LLC_REFERENCES;
|
||||||
//[[maybe_unused]] static PerfCounter STALLED_CYCLES_BACKEND;
|
//[[maybe_unused]] static PerfCounter STALLED_CYCLES_BACKEND;
|
||||||
|
|||||||
@@ -26,9 +26,15 @@ Benchmark::Benchmark(Libc::Env &env, benchmark::Cores &&cores, const std::uint16
|
|||||||
{
|
{
|
||||||
this->_chronometer.add(benchmark::Perf::CYCLES);
|
this->_chronometer.add(benchmark::Perf::CYCLES);
|
||||||
this->_chronometer.add(benchmark::Perf::INSTRUCTIONS);
|
this->_chronometer.add(benchmark::Perf::INSTRUCTIONS);
|
||||||
|
this->_chronometer.add(benchmark::Perf::L1_ITLB_MISSES);
|
||||||
|
this->_chronometer.add(benchmark::Perf::L1_DTLB_MISSES);
|
||||||
|
//this->_chronometer.add(benchmark::Perf::LLC_MISSES);
|
||||||
|
|
||||||
|
|
||||||
//this->_chronometer.add(benchmark::Perf::STALLS_MEM_ANY);
|
//this->_chronometer.add(benchmark::Perf::STALLS_MEM_ANY);
|
||||||
this->_chronometer.add(benchmark::Perf::SW_PREFETCH_ACCESS_NTA);
|
|
||||||
this->_chronometer.add(benchmark::Perf::SW_PREFETCH_ACCESS_WRITE);
|
//this->_chronometer.add(benchmark::Perf::SW_PREFETCH_ACCESS_NTA);
|
||||||
|
//this->_chronometer.add(benchmark::Perf::SW_PREFETCH_ACCESS_WRITE);
|
||||||
}
|
}
|
||||||
std::cout << "core configuration: \n" << this->_cores.dump(2) << std::endl;
|
std::cout << "core configuration: \n" << this->_cores.dump(2) << std::endl;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user