Please try this patch.  This should solve all the random harvesting
    performance issues no matter how efficient or inefficient the hash
    function (untested as I do not have a -current box at the moment).

                                        -Matt

Index: yarrow.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/random/yarrow.c,v
retrieving revision 1.31
diff -u -r1.31 yarrow.c
--- yarrow.c    2001/02/11 16:21:35     1.31
+++ yarrow.c    2001/03/12 19:09:15
@@ -104,11 +104,8 @@
 
        for (;;) {
 
-               if (harvestring.tail == harvestring.head)
-                       tsleep(&harvestring, PUSER, "rndslp", hz/10);
-
-               else {
-
+               tsleep(&harvestring, PUSER, "rndslp", hz/10);
+               if (harvestring.tail != harvestring.head) {
                        /* Suck the harvested entropy out of the queue and hash
                         * it into the appropriate pool.
                         */

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to