diff --git a/primitives/primproc/primproc.cpp b/primitives/primproc/primproc.cpp index 4ec66b767..0845410ff 100644 --- a/primitives/primproc/primproc.cpp +++ b/primitives/primproc/primproc.cpp @@ -526,16 +526,20 @@ int main(int argc, char* argv[]) } #else - if (temp > 0) + bool cacheInMB = false; + if (temp > 0) { BRPBlocksPct = temp; - /* MCOL-1847. Did the user specify this in MB or GB? */ - int len = strBlockPct.length(); - if (strBlockPct[len-1] == 'g' || strBlockPct[len-1] == 'm') - { - if (strBlockPct[len-1] == 'g') - BRPBlocksPct *= 1024; - BRPBlocks = BRPBlocksPct * 128; // 128 blocks per MB + /* MCOL-1847. Did the user specify this in MB or GB? */ + int len = strBlockPct.length(); + if (strBlockPct[len-1] == 'g' || strBlockPct[len-1] == 'm') + { + if (strBlockPct[len-1] == 'g') + BRPBlocksPct *= 1024; + cacheInMB = true; + } } + if (cacheInMB) + BRPBlocks = BRPBlocksPct * 128; // 128 blocks per MB else BRPBlocks = ((BRPBlocksPct / 100.0) * (double) cg.getTotalMemory()) / 8192; #endif