-
由 Leslie Monis 提交于
The variable pie_vars->accu_prob is used as an accumulator for probability values. Since probabilty values are scaled using the MAX_PROB macro denoting (2^64 - 1), pie_vars->accu_prob is likely to overflow as it is of type u64. The variable pie_vars->accu_prob_overflows counts the number of times the variable pie_vars->accu_prob overflows. The MAX_PROB macro needs to be equal to at least (2^39 - 1) in order to do precise calculations without any underflow. Thus MAX_PROB can be reduced to (2^56 - 1) without affecting the precision in calculations drastically. Doing so will eliminate the need for the variable pie_vars->accu_prob_overflows as the variable pie_vars->accu_prob will never overflow. Removing the variable pie_vars->accu_prob_overflows also reduces the size of the structure pie_vars to exactly 64 bytes. Signed-off-by: NMohit P. Tahiliani <tahiliani@nitk.edu.in> Signed-off-by: NGautam Ramakrishnan <gautamramk@gmail.com> Signed-off-by: NLeslie Monis <lesliemonis@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
105e808c