[lkml]   [2014]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH RT 1/5] allow preemption in add_timer_randomness
* Nicholas Mc Guire | 2014-02-10 16:37:28 [+0100]:

>allow preemption in add_timer_randomness
>This patch replaced the preempt_disable by migrate_disable in
>Does this really need even migration protection at all ?
>if one would even drop migration protection - what would happen ?
> /* if over the trickle threshold, use only 1 in 4096 samples */
> if (input_pool.entropy_count > trickle_thresh &&
> ((__this_cpu_inc_return(trickle_count) - 1) & 0xfff)) {
> return;
> }
>trickle_thresh and input_pool.entropy_count are global, so the only thing
>that would happen if this got migrated would be that the 1/4096 could be
>a bit less precise locally (the probability of being migrted here is not
>very high this is a window of a few instructions at best)
>If we got migrated away - so what ? that only would mean that it would be
>checking the trickle_count on the "wrong" cpu - in sum the cpus would though
>still not contribute more bits, the one countdown wouuld speed up only as
>much as some other countdown slowed down.
>In any case, even for precise 1/4096 when over threshhold we would not need
>more than a migration protection.
>patch is against 3.12.10-rt15
>Signed-off-by: Nicholas Mc Guire <>

Ingo added this preempt_disable() in v2.6.9-rc4 because:
|A certain codepath in the random driver relied on vt_ioctl() being under
|the BKL and implicitly disabling preemption. The code wasn't buggy
|upstream but it's slighly unrobust so I think we want the fix upstream too,
|independently of the remove-bkl patch.

later in -RT he made the preempt disable region smaller. Looking at the
code path I'm not sure if we need that preempt_disable() here or
upstream at all. It looks like a global lock which does not protect



 \ /
  Last update: 2014-02-14 14:01    [W:0.020 / U:0.160 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site