locks and kernel randomness...

Harrison Grundy harrison.grundy at astrodoggroup.com
Wed Feb 25 10:23:32 UTC 2015



On 02/25/15 02:21, Konstantin Belousov wrote:
> On Wed, Feb 25, 2015 at 02:17:12AM -0800, Harrison Grundy wrote:
>> 
>> 
>> On 02/25/15 02:05, Konstantin Belousov wrote:
>>> On Wed, Feb 25, 2015 at 01:47:55AM -0800, Harrison Grundy
>>> wrote:
>>>> Three choices here are attached here:
>>>> 
>>>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197922
>>>> 
>>>> The only remaining one I don't have a patch for is putting a 
>>>> "real" PRNG in ULE.
>>>> 
>>>> At this point, as far as ULE goes, It just comes down to
>>>> picking from one of those approaches.
>>> 
>>> The third patch, ' Creates sched_random, using the system used
>>> in cpu_search.', seems to miss updating the dpcpu randomval in 
>>> sched_random(), isn't it ?
>>> 
>> 
>> It does exactly what cpu_search does.
> I do not see how it does exactly what cpu_search does.
> 
> cpu_search is updating *rndptr: rnd = (*rndptr = *rndptr * 69069 +
> 5) >> 26;
> 
> while code in patch is: +        rndptr = DPCPU_PTR(randomval); +
> rnd = (*rndptr * 69069 + 5) >> 26;
> 
> where is the write to *rndptr ?

My mistake. I'll update the patch accordingly.

Interestingly enough, ULE doesn't seem to care about losing randomness
there either.

--- Harrison


More information about the freebsd-arch mailing list