diff --git a/tests/unit/dump.tcl b/tests/unit/dump.tcl
index 91a4df09..fa4f53b3 100644
--- a/tests/unit/dump.tcl
+++ b/tests/unit/dump.tcl
@@ -33,7 +33,7 @@ start_server {tags {"dump"}} {
         set now [clock milliseconds]
         r restore foo [expr $now+3000] $encoded absttl
         set ttl [r pttl foo]
-        assert {$ttl >= 2998 && $ttl <= 3000}
+        assert {$ttl >= 2990 && $ttl <= 3000}
         r get foo
     } {bar}
     
@@ -44,7 +44,7 @@ start_server {tags {"dump"}} {
         r config set maxmemory-policy allkeys-lru
         r restore foo 0 $encoded idletime 1000
         set idle [r object idletime foo]
-        assert {$idle >= 1000 && $idle <= 1002}
+        assert {$idle >= 1000 && $idle <= 1010}
         r get foo
     } {bar}
     
diff --git a/tests/unit/maxmemory.tcl b/tests/unit/maxmemory.tcl
index 7629fe05..f6d596ca 100644
--- a/tests/unit/maxmemory.tcl
+++ b/tests/unit/maxmemory.tcl
@@ -143,9 +143,11 @@ start_server {tags {"maxmemory"}} {
     }
 }
 
-proc test_slave_buffers {cmd_count payload_len limit_memory pipeline} {
+proc test_slave_buffers {test_name cmd_count payload_len limit_memory pipeline} {
     start_server {tags {"maxmemory"}} {
         start_server {} {
+        set slave_pid [s process_id]
+        test "$test_name" {
             set slave [srv 0 client]
             set slave_host [srv 0 host]
             set slave_port [srv 0 port]
@@ -158,8 +160,10 @@ proc test_slave_buffers {cmd_count payload_len limit_memory pipeline} {
                 $master setrange "key:$j" 100000 asdf
             }
 
+            # make sure master doesn't disconnect slave because of timeout
+            $master config set repl-timeout 300 ;# 5 minutes
             $master config set maxmemory-policy allkeys-random
-            $master config set client-output-buffer-limit "slave 100000000 100000000 60"
+            $master config set client-output-buffer-limit "slave 100000000 100000000 300"
             $master config set repl-backlog-size [expr {10*1024}]
 
             $slave slaveof $master_host $master_port
@@ -182,9 +186,9 @@ proc test_slave_buffers {cmd_count payload_len limit_memory pipeline} {
 
             # put the slave to sleep
             set rd_slave [redis_deferring_client]
-            $rd_slave debug sleep 300
+            exec kill -SIGSTOP $slave_pid
 
-            # send some 10mb woth of commands that don't increase the memory usage
+            # send some 10mb worth of commands that don't increase the memory usage
             if {$pipeline == 1} {
                 set rd_master [redis_deferring_client -1]
                 for {set k 0} {$k < $cmd_count} {incr k} {
@@ -218,19 +222,21 @@ proc test_slave_buffers {cmd_count payload_len limit_memory pipeline} {
             set delta_no_repl [expr {$killed_used_no_repl - $used_no_repl}]
             assert {$killed_slave_buf == 0}
             assert {$delta_no_repl > -50*1024 && $delta_no_repl < 50*1024} ;# 1 byte unaccounted for, with 1M commands will consume some 1MB
+
+        }
+        # unfreeze slave process (after the 'test' succeeded or failed, but before we attempt to terminate the server
+        exec kill -SIGCONT $slave_pid
         }
     }
 }
 
-test {slave buffer are counted correctly} {
-    # we wanna use many small commands, and we don't wanna wait long
-    # so we need to use a pipeline (redis_deferring_client)
-    # that may cause query buffer to fill and induce eviction, so we disable it
-    test_slave_buffers 1000000 10 0 1
-}
+# test that slave buffer are counted correctly
+# we wanna use many small commands, and we don't wanna wait long
+# so we need to use a pipeline (redis_deferring_client)
+# that may cause query buffer to fill and induce eviction, so we disable it
+test_slave_buffers {slave buffer are counted correctly} 1000000 10 0 1
 
-test {slave buffer don't induce eviction} {
-    # test again with fewer (and bigger) commands without pipeline, but with eviction
-    test_slave_buffers 100000 100 1 0
-}
+# test that slave buffer don't induce eviction
+# test again with fewer (and bigger) commands without pipeline, but with eviction
+test_slave_buffers "slave buffer don't induce eviction" 100000 100 1 0
 
diff --git a/tests/unit/memefficiency.tcl b/tests/unit/memefficiency.tcl
index ec71a36b..8972d577 100644
--- a/tests/unit/memefficiency.tcl
+++ b/tests/unit/memefficiency.tcl
@@ -201,7 +201,7 @@ start_server {tags {"defrag"}} {
                 assert {$frag < 1.1}
                 # due to high fragmentation, 10hz, and active-defrag-cycle-max set to 75,
                 # we expect max latency to be not much higher than 75ms
-                assert {$max_latency <= 80}
+                assert {$max_latency <= 120}
             }
             # verify the data isn't corrupted or changed
             set newdigest [r debug digest]