From: Tan Hu Date: Thu, 4 Jun 2020 23:50:23 +0000 (-0700) Subject: lib/flex_proportions.c: cleanup __fprop_inc_percpu_max X-Git-Tag: v5.8-rc1~142^2~47 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=63d7f8167fe65891617d5eca6314eca46029955c;p=linux-block.git lib/flex_proportions.c: cleanup __fprop_inc_percpu_max If the given type has fraction smaller than max_frac/FPROP_FRAC_BASE, the code could be modified to call __fprop_inc_percpu() directly and easier to understand. After this patch, fprop_reflect_period_percpu() will be called twice, and quicky return on pl->period == p->period test, so it would not result to significant downside of performance. Thanks for Jan's guidance. Signed-off-by: Tan Hu Signed-off-by: Andrew Morton Reviewed-by: Jan Kara Cc: Cc: Yi Wang Cc: Link: http://lkml.kernel.org/r/1589004753-27554-1-git-send-email-tan.hu@zte.com.cn Signed-off-by: Linus Torvalds --- diff --git a/lib/flex_proportions.c b/lib/flex_proportions.c index 7852bfff50b1..451543937524 100644 --- a/lib/flex_proportions.c +++ b/lib/flex_proportions.c @@ -266,8 +266,7 @@ void __fprop_inc_percpu_max(struct fprop_global *p, if (numerator > (((u64)denominator) * max_frac) >> FPROP_FRAC_SHIFT) return; - } else - fprop_reflect_period_percpu(p, pl); - percpu_counter_add_batch(&pl->events, 1, PROP_BATCH); - percpu_counter_add(&p->events, 1); + } + + __fprop_inc_percpu(p, pl); }