Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions doc/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ Answer: yes, it does. An example of how to run PCM inside a docker container is

pcm-power reports "Unsupported processor model". Can you add support for pcm-power for my CPU?

Answer: most likely you have a client CPU which does not have required hardware performance monitoring units. PCM-power can not work without them.
Answer: most likely you have a client CPU which does not have required hardware performance monitoring units. PCM-power can not work without them. For basic power and C-state metrics on client processors, please use the main `pcm` utility.

## Q6

pcm-memory reports that the CPU is not supported. Can you add support for pcm-memory for my CPU?

Answer: most likely you have a client CPU which does not have required hardware performance monitoring units. PCM-memory can not work without them.
Answer: most likely you have a client CPU which does not have required hardware performance monitoring units. PCM-memory can not work without them. For processor-level memory bandwidth statistics on client processors, please use the main `pcm` utility.

## Q7

Expand Down
1 change: 1 addition & 0 deletions src/pcm-memory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1546,6 +1546,7 @@ int mainThrows(int argc, char * argv[])
if (!m->hasPCICFGUncore())
{
cerr << "Unsupported processor model (0x" << std::hex << cpu_family_model << std::dec << ").\n";
cerr << "pcm-memory requires server uncore PMU hardware which is not available on client or unsupported processors (see doc/FAQ.md#q6).\n";
if (m->memoryTrafficMetricsAvailable())
cerr << "For processor-level memory bandwidth statistics please use 'pcm' utility\n";
exit(EXIT_FAILURE);
Expand Down
2 changes: 2 additions & 0 deletions src/pcm-power.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -640,6 +640,8 @@ int mainThrows(int argc, char * argv[])
if (!(m->hasPCICFGUncore()))
{
cerr << "Unsupported processor model (0x" << std::hex << cpu_family_model << std::dec << ").\n";
cerr << "pcm-power requires server uncore PMU hardware which is not available on client or unsupported processors (see doc/FAQ.md#q5).\n";
cerr << "For basic power and C-state metrics on this processor, please use the main 'pcm' utility.\n";
exit(EXIT_FAILURE);
}

Expand Down
1 change: 1 addition & 0 deletions tests/pcm-memory-fuzz.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
if (!m->hasPCICFGUncore())
{
cerr << "Unsupported processor model (0x" << std::hex << cpu_family_model << std::dec << ").\n";
cerr << "pcm-memory requires server uncore PMU hardware which is not available on client or unsupported processors (see doc/FAQ.md#q6).\n";
if (m->memoryTrafficMetricsAvailable())
cerr << "For processor-level memory bandwidth statistics please use 'pcm' utility\n";
return 0;
Expand Down