@@ -1747,7 +1747,7 @@ func makeNonExclusiveTest(bucket int, tests []*register.Test, flight platform.Fl
17471747 return nonExclusiveWrapper
17481748}
17491749
1750- func reserveMemoryCountForTest (t * register.Test , needed int ) bool {
1750+ func reserveMemoryCountForTest (t * register.Test , needed int , logger func ( format string , args ... interface {}) ) bool {
17511751 reservedMemoryCountMutex .Lock ()
17521752 defer reservedMemoryCountMutex .Unlock ()
17531753 avail , err := system .GetCurrentMemAvailableMiB ()
@@ -1762,11 +1762,11 @@ func reserveMemoryCountForTest(t *register.Test, needed int) bool {
17621762 reservedMemoryCountMiB += needed
17631763 reserved := reservedMemoryCountMiB
17641764 t .ReservedMemoryCountMiB = needed
1765- plog . Debugf ("Reserved %d MiB for %s (available: %d MiB, reserved total: %d MiB)" ,
1765+ logger ("Reserved %d MiB for %s (available: %d MiB, reserved total: %d MiB)" ,
17661766 needed , t .Name , avail , reserved )
17671767 return true
17681768 }
1769- plog . Debugf ("Waiting on memory to run %s: need %d MiB, effective available %d MiB (system: %d MiB, reserved: %d MiB)" ,
1769+ logger ("Waiting on memory to run %s: need %d MiB, effective available %d MiB (system: %d MiB, reserved: %d MiB)" ,
17701770 t .Name , needed , effective , avail , reservedMemoryCountMiB )
17711771 return false
17721772}
@@ -1784,7 +1784,17 @@ func reserveMemoryCountForTest(t *register.Test, needed int) bool {
17841784func waitForMemory (h * harness.H , flight platform.Flight , t * register.Test ) {
17851785 if flight .Platform () == "qemu" {
17861786 needed := getNeededMemoryMiB (t )
1787- for ! reserveMemoryCountForTest (t , needed ) {
1787+ start := time .Now ()
1788+ logger := plog .Debugf
1789+ for ! reserveMemoryCountForTest (t , needed , logger ) {
1790+ // After a period of time switch the logger so we get some
1791+ // info even if debug isn't turned on.
1792+ if time .Since (start ) > 5 * time .Minute {
1793+ logger = plog .Warningf
1794+ start = time .Now () // reset counter
1795+ } else {
1796+ logger = plog .Debugf
1797+ }
17881798 // sleep between 0 and 20 seconds and try again
17891799 time .Sleep (time .Duration (rand .Intn (20 )) * time .Second )
17901800 }
0 commit comments