if (err < 0)
                        perror("recv start time: ");
                while (s->bytes_recvd < total_bytes) {
-                       timeout.tv_sec = 1;
-                       timeout.tv_usec = 0;
+                       timeout.tv_sec = 0;
+                       timeout.tv_usec = 10;
 
                        /* FD sets */
                        FD_ZERO(&w);
 {
        int err = __test_exec(cgrp, SENDMSG, opt);
 
-       sched_yield();
        if (err)
                goto out;
 
        err = __test_exec(cgrp, SENDPAGE, opt);
-       sched_yield();
 out:
        return err;
 }
        opt.iov_length = 0;
        opt.rate = 0;
 
-       for (r = 1; r < 100; r += 33) {
-               for (i = 1; i < 100; i += 33) {
-                       for (l = 1; l < 100; l += 33) {
-                               opt.rate = r;
-                               opt.iov_count = i;
-                               opt.iov_length = l;
-                               err = test_exec(cgrp, &opt);
-                               if (err)
-                                       goto out;
-                       }
+       r = 1;
+       for (i = 1; i < 100; i += 33) {
+               for (l = 1; l < 100; l += 33) {
+                       opt.rate = r;
+                       opt.iov_count = i;
+                       opt.iov_length = l;
+                       err = test_exec(cgrp, &opt);
+                       if (err)
+                               goto out;
                }
        }
-
+       sched_yield();
 out:
        return err;
 }
        if (err)
                goto out;
 out:
+       sched_yield();
        return err;
 }
 
        opt.iov_length = 100;
        txmsg_cork = 1600;
 
-       for (i = 99; i <= 1600; i += 100) {
+       for (i = 99; i <= 1600; i += 500) {
                txmsg_start = 0;
                txmsg_end = i;
                err = test_exec(cgrp, &opt);
        }
 
        /* Test start/end with cork but pull data in middle */
-       for (i = 199; i <= 1600; i += 100) {
+       for (i = 199; i <= 1600; i += 500) {
                txmsg_start = 100;
                txmsg_end = i;
                err = test_exec(cgrp, &opt);
 out:
        txmsg_start = 0;
        txmsg_end = 0;
+       sched_yield();
        return err;
 }