tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: cprng_fast implementation benchmarks



Manuel Bouyer <bouyer%antioche.eu.org@localhost> wrote:
> On Wed, Apr 23, 2014 at 09:16:33AM -0400, Thor Lancelot Simon wrote:
> > [...]
> > Do we still have a compile-time way to check if the kernel (or port) is
> > uniprocessor only?  If so we should probably #ifdef away the percpu
> > calls in such kernels, which are probably for slower hardware anyway.
> 
> AFAIK options MULTIPROCESSOR is still here
> 

It is, but it should generally be avoided, unless the optimisation is
really significant.  Also, make it least invasive, e.g. instead of #ifdef
in a function body, do something like:

#ifdef MULTIPROCESSOR
#define cprng_getctx()  percpu_getref(percpu_cprng_fast_ctx)
#define cprng_putctx()  percpu_putref(percpu_cprng_fast_ctx)
#else
static cprng_fast_ctx_t cprng_global_ctx;
#define cprng_getctx()  (&cprng_global_ctx)
#define cprng_putctx()
#endif

Not sure if it is worth, though.

-- 
Mindaugas


Home | Main Index | Thread Index | Old Index