From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751615AbdFZU7U (ORCPT ); Mon, 26 Jun 2017 16:59:20 -0400 Received: from mx2.suse.de ([195.135.220.15]:41816 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751381AbdFZU7M (ORCPT ); Mon, 26 Jun 2017 16:59:12 -0400 Subject: Re: [PATCH] writeback: Simplify wb_stat_sum Cc: jack@suse.cz, axboe@fb.com, linux-kernel@vger.kernel.org, Andrew Morton References: <1498230681-29103-1-git-send-email-nborisov@suse.com> To: tj@kernel.org From: Nikolay Borisov Message-ID: Date: Mon, 26 Jun 2017 23:59:09 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <1498230681-29103-1-git-send-email-nborisov@suse.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [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 > --- > 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); >