set minimum darwin kernel rx sleep
authorDerrick Brashear <shadow@dementia.org>
Thu, 11 Feb 2010 03:12:04 +0000 (22:12 -0500)
committerDerrick Brashear <shadow@dementia.org>
Thu, 11 Feb 2010 03:21:34 +0000 (19:21 -0800)
never be willing to sleep less than 500ms. additional tweaks to the
rx scheduler may be needed however before we always slept for 500; now
we'll sleep longer if no events are pending (but not forever)

Change-Id: I7fdb02dd7a383131fffcfae532d71c8fbeb97545
Reviewed-on: http://gerrit.openafs.org/1290
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/rx/rx_kcommon.c

index 2f28510..6fc9cdf 100644 (file)
@@ -1072,9 +1072,9 @@ afs_rxevent_daemon(void)
        afs_Trace1(afs_iclSetp, CM_TRACE_TIMESTAMP, ICL_TYPE_STRING,
                   "before afs_osi_Wait()");
 #endif
-#if 0/*def AFS_DARWIN80_ENV*/
-       afs_osi_TimedSleep(&afs_termState, ((temp.sec * 1000) +
-                                           (temp.usec / 1000)), 0);
+#ifdef AFS_DARWIN80_ENV
+       afs_osi_TimedSleep(&afs_termState, MAX(500, ((temp.sec * 1000) +
+                                                    (temp.usec / 1000))), 0);
 #else
        afs_osi_Wait(500, NULL, 0);
 #endif