Thread (46 messages) 46 messages, 8 authors, 2013-10-03

Re: [PATCH 3/3] KVM: PPC: Book3S: Add support for hwrng found on some powernv systems

From: Paolo Bonzini <pbonzini@redhat.com>
Date: 2013-10-02 08:46:33
Also in: kvm, lkml

Il 02/10/2013 07:09, Paul Mackerras ha scritto:
On Tue, Oct 01, 2013 at 01:19:06PM +0200, Paolo Bonzini wrote:
quoted
Anyhow, I would like to know more about this hwrng and hypercall.

Does the hwrng return random numbers (like rdrand) or real entropy (like
rdseed that Intel will add in Broadwell)?  What about the hypercall?
Well, firstly, your terminology is inaccurate.  Real entropy will give
you random numbers.  I think when you say "random numbers" you
actually mean "pseudo-random numbers".
Yes---I meant pseudo-random numbers where the generator is periodically
seeded by a random number.
Secondly, the RNG produces real entropy.
Good to know, thanks.
Not sure why they are particularly "precious"; we get 64 bits per
microsecond whether we use them or not.  What are you suggesting
arch_get_random_long() should do instead?
If you are running rngd, there is no need to have arch_get_random_long()
at all.
quoted
3) If the hypercall returns random numbers, then it is a pretty
braindead interface since returning 8 bytes at a time limits the
throughput to a handful of MB/s (compare to 200 MB/sec for x86 rdrand).
 But more important: in this case drivers/char/hw_random/pseries-rng.c
is completely broken and insecure, just like patch 2 in case (1) above.
Assuming that by "random numbers" you actually mean "pseudo-random
numbers", then this doesn't apply.
Indeed.
quoted
4) If the hypercall returns entropy (same as virtio-rng), the same
considerations on speed apply.  If you can only produce entropy at say 1
MB/s (so reading 8 bytes take 8 microseconds---which is actually very
fast), it doesn't matter that much to spend 7 microseconds on a
userspace roundtrip.  It's going to be only half the speed of bare
metal, not 100 times slower.
8 bytes takes at most 1 microsecond, so the round-trip to userspace is
definitely noticeable.
Thanks.  Any chance you can give some numbers of a kernel hypercall and
a userspace hypercall on Power, so we have actual data?  For example a
hypercall that returns H_PARAMETER as soon as possible.

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help