From owner-svn-src-all@FreeBSD.ORG Sun Nov 2 19:24:16 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5D36119B; Sun, 2 Nov 2014 19:24:16 +0000 (UTC) Received: from gromit.grondar.org (grandfather.grondar.org [IPv6:2a01:348:0:15:5d59:5c20:0:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 21A2F9FC; Sun, 2 Nov 2014 19:24:15 +0000 (UTC) Received: from [2001:470:9174:1:1da0:4ef1:3fbf:d630] by gromit.grondar.org with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.84 (FreeBSD)) (envelope-from ) id 1Xl0l4-000Gzc-5E; Sun, 02 Nov 2014 19:24:14 +0000 Subject: Re: svn commit: r273958 - head/sys/dev/random Mime-Version: 1.0 (Mac OS X Mail 8.0 \(1990.1\)) Content-Type: text/plain; charset=utf-8 From: Mark R V Murray In-Reply-To: <20141102192057.GB53947@kib.kiev.ua> Date: Sun, 2 Nov 2014 19:24:13 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <29A795E1-19E2-49E4-9653-143D3F6F3F12@grondar.org> References: <201411020201.sA221unt091493@svn.freebsd.org> <720EB74E-094A-43F3-8B1C-47BC7F6FECC3@grondar.org> <1414934579.17308.248.camel@revolution.hippie.lan> <6FB65828-6A79-4BDE-A9F7-BC472BA538CE@grondar.org> <20141102192057.GB53947@kib.kiev.ua> To: Konstantin Belousov X-Mailer: Apple Mail (2.1990.1) X-SA-Score: -1.0 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Nov 2014 19:24:16 -0000 > On 2 Nov 2014, at 19:20, Konstantin Belousov = wrote: >=20 > On Sun, Nov 02, 2014 at 11:05:27AM -0800, Adrian Chadd wrote: >> [snip all the conversation] >>=20 >> 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. >>=20 >> The unfortunate part is that the kernel side stack trace of the >> offending / hung process isn't currently helpful. :( >>=20 >=20 >> =46rom what I see, signals are essentially ignored in the read code. > See random_adaptors.c:random_adaptor_read(): >=20 > /* Sleep instead of going into a spin-frenzy */ > tsleep(&random_adaptor, PUSER | PCATCH, "block", hz/10); >=20 > The error which would indicate the signal catch, is dropped. Also, > unbound sleep does not drop random_adaptor_lock, which means that > you cannot module which could provide some more randomness for you, > while any thread is stuck in read loop. Hi I don=E2=80=99t quite follow what you mean, but it sounds like you = understand the problem. Could you please explain with a bit more detail? Thanks, M --=20 Mark R V Murray