On Sat, Oct 22, 2005 at 02:52:00AM +0200, Blaisorblade wrote:
> Proper solution: use a separate _host_ thread, which either sits blocked in a 
> blocking read or calls poll() on the host /dev/random, and have it do the 
> work. 

Yeah, unfortunately.  The real right thing to do is give the host random
driver fasync support (I'm not sure how possible this is, however, given the
nature of the hardware).  Then we could register an IRQ for having some 
randomness and do this right.

> It's not easy however.

It's fairly trivial.  Look at the SIGIO workaround thread - this is essentially
the same thing.

> The ubd driver works currently this way, but the thing is not trivial to get 
> right (and the UBD rewrite in the works has shown that).

The complexity there is due to entirely different causes, namely making sure
that requests are sent out in order and that pieces of the bitmap are written
out when they should be, and not before.

                                Jeff


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to