tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Patch: cprng_fast performance - please review.
Thor Lancelot Simon <tls%panix.com@localhost> wrote:
> On Wed, Apr 16, 2014 at 09:52:22PM -0400, Thor Lancelot Simon wrote:
> >
> > Attached is a patch which makes cprng_fast per-CPU and lockless. *IT
> > IS NOT WELL TESTED YET (I haven't even run test vectors) AND IS ONLY
> > FOR REVIEW.*
>
> New diff, with some missing files and incorporating some more comments
> from Taylor.
>
> Thor
Few notes:
- Please do not provide the interface as inline functions in the headers.
They are just not worth. It is much more beneficial to keep the internals
abstracted within subr_cprng.c and to not expose any structures!
- Are there legitimate users of CPRNG from the interrupts above IPL_VM?
I think there should not be any and cprng_fast() should be under splvm().
In the long term, we could probably use a lockless buffer, but I am fine
with splvm() for now.
- I would still replace division/modulus using sizeof(uint32_t) with
bitwise operations, just to make sure that compiler is not silly.
- Just merge cprng_fast() macro with _cprng_fast_inexact(). Simplify,
since what we really care about it cprng_fast32().
--
Mindaugas
Home |
Main Index |
Thread Index |
Old Index