Re: [PATCH] writeback: Simplify wb_stat_sum

From: Nikolay Borisov
Date: Mon Jun 26 2017 - 16:59:28 EST


[CC'ing Andrew since he seems to be taking those patches through -mm ]

On 23.06.2017 18:11, Nikolay Borisov wrote:
> wb_stat_sum disables interrupts and calls __wb_stat_sum which eventually calls
> __percpu_counter_sum. However, the percpu routine is already irq-safe. Simplify
> the code a bit by making wb_stat_sum directly call percpu_counter_sum_positive
> and not disable interrupts. Also remove the now-uneeded __wb_stat_sum which was
> just a wrapper over percpu_counter_sum_positive
>
> Signed-off-by: Nikolay Borisov <nborisov@xxxxxxxx>
> ---
> include/linux/backing-dev.h | 15 +--------------
> 1 file changed, 1 insertion(+), 14 deletions(-)
>
> diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
> index e9c967b86054..854e1bdd0b2a 100644
> --- a/include/linux/backing-dev.h
> +++ b/include/linux/backing-dev.h
> @@ -84,22 +84,9 @@ static inline s64 wb_stat(struct bdi_writeback *wb, enum wb_stat_item item)
> return percpu_counter_read_positive(&wb->stat[item]);
> }
>
> -static inline s64 __wb_stat_sum(struct bdi_writeback *wb,
> - enum wb_stat_item item)
> -{
> - return percpu_counter_sum_positive(&wb->stat[item]);
> -}
> -
> static inline s64 wb_stat_sum(struct bdi_writeback *wb, enum wb_stat_item item)
> {
> - s64 sum;
> - unsigned long flags;
> -
> - local_irq_save(flags);
> - sum = __wb_stat_sum(wb, item);
> - local_irq_restore(flags);
> -
> - return sum;
> + return percpu_counter_sum_positive(&wb->stat[item]);
> }
>
> extern void wb_writeout_inc(struct bdi_writeback *wb);
>