When resmoke tasks are split into sub-buckets, we will set a dynamic timeout that is 3 times how long we expect all the tests to execute. If all tests are really quick (a few seconds or less), small variations in test runtime can cause the timeout to be hit. To avoid this, we added a minimum timeout of 5 minutes. However, if the total runtime of the tests is close to that, we could still hit the timeout. If we are in a situation where the total runtime is less than the minimum, we should use 3 times the minimum to give us some extra buffer for variations in runtime.