message: pcm-memory: make -pmm the default option on systems with PMM support
diff: @@ -83,8 +83,9 @@ void print_help(const string prog_name)
  cerr << " Supported <options> are: \n";
  cerr << " -h | --help | /h => print this help and exit\n";
  cerr << " -rank=X | /rank=X => monitor DIMM rank X. At most 2 out of 8 total ranks can be monitored simultaneously.\n";
  - cerr << " -pmm => monitor PMM memory bandwidth (instead of partial writes).\n";
  + cerr << " -pmm => monitor PMM memory bandwidth and DRAM cache hit rate in Memory Mode (default on systems with PMM support).\n";
  cerr << " -mixed => monitor PMM mixed mode (AppDirect + Memory Mode).\n";
  + cerr << " -partial => monitor monitor partial writes instead of PMM (default on systems without PMM support).\n";
  cerr << " -nc | --nochannel | /nc => suppress output for individual channels.\n";
  cerr << " -csv[=file.csv] | /csv[=file.csv] => output compact CSV format to screen or\n"
  << " to a file, in case filename is provided\n";
  @@ -830,13 +831,13 @@ int main(int argc, char * argv[])
  int calibrated = PCM_CALIBRATION_INTERVAL - 2; // keeps track is the clock calibration needed
  #endif
  int rankA = -1, rankB = -1;
  - bool PMM = false;
  - bool PMMMixedMode = false;
  unsigned int numberOfIterations = 0; // number of iterations
  string program = string(argv[0]);
  PCM * m = PCM::getInstance();
  + bool PMM = m->PMMTrafficMetricsAvailable();
  + bool PMMMixedMode = false;
  if (argc > 1) do
  {
  @@ -946,6 +947,14 @@ int main(int argc, char * argv[])
  PMMMixedMode = true;
  continue;
  }
  +
  + if (strncmp(*argv, "-partial", 8) == 0 ||
  + strncmp(*argv, "/partial", 8) == 0)
  + {
  + PMM = false;
  + PMMMixedMode =false;
  + continue;
  + }
  #ifdef _MSC_VER
  else
  if (strncmp(*argv, "--uninstallDriver", 17) == 0)
  