svn commit: r273958 - head/sys/dev/random

Konstantin Belousov kostikbel at gmail.com
Sun Nov 2 19:49:28 UTC 2014


On Sun, Nov 02, 2014 at 12:15:00PM -0700, Ian Lepore wrote:
> On Sun, 2014-11-02 at 11:05 -0800, Adrian Chadd wrote:
> > [snip all the conversation]
> > 
> > Ok. There's still a problem that I can trigger by trying to Ctrl-C a
> > process that's blocked reading for randomness. I'll try to chase up
> > more details about and file a PR about it.
> > 
> > The unfortunate part is that the kernel side stack trace of the
> > offending / hung process isn't currently helpful. :(
> > 
> > 
> > 
> > 
> > -adrian
> 
> Possibly related... when I had the boot time save-entropy stuff stuck in
> a read yesterday I tried ^T and it first reported the hung process in a
> "block" wait.  Any subsequent ^T showed the process as runnable and the
> cpu usage as 100%.  This is on a single-core arm.
> 

Yes, this is because error from tsleep() in random_adaptor_read()
does not abort the loop.  But next loop iteration calls tsleep()
which returns immediately since there is still pending signal.
The process continues indefinitely.


More information about the svn-src-all mailing list