Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932099AbbGPDT5 (ORCPT ); Wed, 15 Jul 2015 23:19:57 -0400 Received: from mail-pd0-f173.google.com ([209.85.192.173]:34440 "EHLO mail-pd0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753660AbbGPDTy (ORCPT ); Wed, 15 Jul 2015 23:19:54 -0400 From: Ming Lei To: Jens Axboe , linux-kernel@vger.kernel.org Cc: Mike Snitzer , Tejun Heo , Ming Lei Subject: [PATCH 3/4] block: partition: introduce 'cpu' para to part_inc|dec_in_flight Date: Thu, 16 Jul 2015 11:16:46 +0800 Message-Id: <1437016607-375-4-git-send-email-tom.leiming@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1437016607-375-1-git-send-email-tom.leiming@gmail.com> References: <1437016607-375-1-git-send-email-tom.leiming@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4001 Lines: 120 So that it is easier to convert part->in_flight[rw] into percpu variable in the following patch. Signed-off-by: Ming Lei --- block/bio.c | 4 ++-- block/blk-core.c | 4 ++-- block/blk-merge.c | 2 +- drivers/nvdimm/core.c | 4 ++-- include/linux/genhd.h | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/block/bio.c b/block/bio.c index 2a00d34..fe8807f 100644 --- a/block/bio.c +++ b/block/bio.c @@ -1724,7 +1724,7 @@ void generic_start_io_acct(int rw, unsigned long sectors, part_round_stats(cpu, part); part_stat_inc(cpu, part, ios[rw]); part_stat_add(cpu, part, sectors[rw], sectors); - part_inc_in_flight(part, rw); + part_inc_in_flight(cpu, part, rw); part_stat_unlock(); } @@ -1738,7 +1738,7 @@ void generic_end_io_acct(int rw, struct hd_struct *part, part_stat_add(cpu, part, ticks[rw], duration); part_round_stats(cpu, part); - part_dec_in_flight(part, rw); + part_dec_in_flight(cpu, part, rw); part_stat_unlock(); } diff --git a/block/blk-core.c b/block/blk-core.c index 82819e6..f180a6d 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -2194,7 +2194,7 @@ void blk_account_io_done(struct request *req) part_stat_inc(cpu, part, ios[rw]); part_stat_add(cpu, part, ticks[rw], duration); part_round_stats(cpu, part); - part_dec_in_flight(part, rw); + part_dec_in_flight(cpu, part, rw); hd_struct_put(part); part_stat_unlock(); @@ -2252,7 +2252,7 @@ void blk_account_io_start(struct request *rq, bool new_io) hd_struct_get(part); } part_round_stats(cpu, part); - part_inc_in_flight(part, rw); + part_inc_in_flight(cpu, part, rw); rq->part = part; } diff --git a/block/blk-merge.c b/block/blk-merge.c index 30a0d9f..cb7c46d 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c @@ -449,7 +449,7 @@ static void blk_account_io_merge(struct request *req) part = req->part; part_round_stats(cpu, part); - part_dec_in_flight(part, rq_data_dir(req)); + part_dec_in_flight(cpu, part, rq_data_dir(req)); hd_struct_put(part); part_stat_unlock(); diff --git a/drivers/nvdimm/core.c b/drivers/nvdimm/core.c index cb62ec6..053d026 100644 --- a/drivers/nvdimm/core.c +++ b/drivers/nvdimm/core.c @@ -224,7 +224,7 @@ void __nd_iostat_start(struct bio *bio, unsigned long *start) part_round_stats(cpu, &disk->part0); part_stat_inc(cpu, &disk->part0, ios[rw]); part_stat_add(cpu, &disk->part0, sectors[rw], bio_sectors(bio)); - part_inc_in_flight(&disk->part0, rw); + part_inc_in_flight(cpu, &disk->part0, rw); part_stat_unlock(); } EXPORT_SYMBOL(__nd_iostat_start); @@ -238,7 +238,7 @@ void nd_iostat_end(struct bio *bio, unsigned long start) part_stat_add(cpu, &disk->part0, ticks[rw], duration); part_round_stats(cpu, &disk->part0); - part_dec_in_flight(&disk->part0, rw); + part_dec_in_flight(cpu, &disk->part0, rw); part_stat_unlock(); } EXPORT_SYMBOL(nd_iostat_end); diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 2adbfa6..612ae80 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -381,14 +381,14 @@ static inline void free_part_stats(struct hd_struct *part) #define part_stat_sub(cpu, gendiskp, field, subnd) \ part_stat_add(cpu, gendiskp, field, -subnd) -static inline void part_inc_in_flight(struct hd_struct *part, int rw) +static inline void part_inc_in_flight(int cpu, struct hd_struct *part, int rw) { atomic_inc(&part->in_flight[rw]); if (part->partno) atomic_inc(&part_to_disk(part)->part0.in_flight[rw]); } -static inline void part_dec_in_flight(struct hd_struct *part, int rw) +static inline void part_dec_in_flight(int cpu, struct hd_struct *part, int rw) { atomic_dec(&part->in_flight[rw]); if (part->partno) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/