From owner-svn-src-head@freebsd.org Sun Jul 19 17:03:06 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1405A9A5C94; Sun, 19 Jul 2015 17:03:06 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 89E3D16B4; Sun, 19 Jul 2015 17:03:05 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id t6JH2s5J054882 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Sun, 19 Jul 2015 20:02:54 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t6JH2s5J054882 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id t6JH2rQQ054881; Sun, 19 Jul 2015 20:02:53 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 19 Jul 2015 20:02:53 +0300 From: Konstantin Belousov To: Mark Murray Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r285692 - head/sys/dev/random Message-ID: <20150719170253.GO2404@kib.kiev.ua> References: <201507191605.t6JG5V3o038572@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201507191605.t6JG5V3o038572@repo.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jul 2015 17:03:06 -0000 On Sun, Jul 19, 2015 at 04:05:31PM +0000, Mark Murray wrote: > Author: markm > Date: Sun Jul 19 16:05:30 2015 > New Revision: 285692 > URL: https://svnweb.freebsd.org/changeset/base/285692 > > Log: > Fix the read blocking so that it is interruptable and slow down the rate of console warning spamming while blocked. > > Approved by: so (/dev/random blanket) > > Modified: > head/sys/dev/random/randomdev.c > > Modified: head/sys/dev/random/randomdev.c > ============================================================================== > --- head/sys/dev/random/randomdev.c Sun Jul 19 16:05:26 2015 (r285691) > +++ head/sys/dev/random/randomdev.c Sun Jul 19 16:05:30 2015 (r285692) > @@ -163,22 +163,28 @@ int > read_random_uio(struct uio *uio, bool nonblock) > { > uint8_t *random_buf; > - int error; > + int error, spamcount; > ssize_t read_len, total_read, c; > > random_buf = malloc(PAGE_SIZE, M_ENTROPY, M_WAITOK); > random_alg_context.ra_pre_read(); > - /* (Un)Blocking logic */ > error = 0; > + spamcount = 0; > + /* (Un)Blocking logic */ > while (!random_alg_context.ra_seeded()) { > if (nonblock) { > error = EWOULDBLOCK; > break; > } > - tsleep(&random_alg_context, 0, "randseed", hz/10); > /* keep tapping away at the pre-read until we seed/unblock. */ > random_alg_context.ra_pre_read(); > - printf("random: %s unblock wait\n", __func__); > + /* Only bother the console every 10 seconds or so */ > + if (spamcount == 0) > + printf("random: %s unblock wait\n", __func__); > + spamcount = (spamcount + 1)%100; Is ppsratecheck() not suitable for this due to use of > 1 sec period ? > + error = tsleep(&random_alg_context, PCATCH, "randseed", hz/10); > + if ((error == ERESTART | error == EINTR)) This is probably still valid, but I wonder if you mean || there. Then you could also remove extra (). > + break; > } > if (error == 0) { > #if !defined(RANDOM_DUMMY) All your commits are breaking all style(9) rules. It would be nice to keep the style at least for the files where you added random harvesting and which are already mostly style compliant. E.g., what about wrapping lines at position somewhere between 72 and 80 ?