On Tue, Apr 12 2022 at 4:56P -0400, Ming Lei <ming.lei@xxxxxxxxxx> wrote: > All the other 4 parameters are retrieved from the 'dm_io' instance, so > not necessary to pass all four to dm_io_acct(). > > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> Yeah, commit 0ab30b4079e103 ("dm: eliminate copying of dm_io fields in dm_io_dec_pending") could've gone further to do what you've done here in this patch. But it stopped short because of the additional "games" associated with the late assignment of io->orig_bio that is in the dm-5.19 branch. Mike > --- > drivers/md/dm.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/md/dm.c b/drivers/md/dm.c > index 62f7af815ef8..ed85cd1165a4 100644 > --- a/drivers/md/dm.c > +++ b/drivers/md/dm.c > @@ -498,9 +498,12 @@ static bool bio_is_flush_with_data(struct bio *bio) > return ((bio->bi_opf & REQ_PREFLUSH) && bio->bi_iter.bi_size); > } > > -static void dm_io_acct(bool end, struct mapped_device *md, struct bio *bio, > - unsigned long start_time, struct dm_stats_aux *stats_aux) > +static void dm_io_acct(struct dm_io *io, bool end) > { > + struct dm_stats_aux *stats_aux = &io->stats_aux; > + unsigned long start_time = io->start_time; > + struct mapped_device *md = io->md; > + struct bio *bio = io->orig_bio; > bool is_flush_with_data; > unsigned int bi_size; > > @@ -528,7 +531,7 @@ static void dm_io_acct(bool end, struct mapped_device *md, struct bio *bio, > > static void __dm_start_io_acct(struct dm_io *io) > { > - dm_io_acct(false, io->md, io->orig_bio, io->start_time, &io->stats_aux); > + dm_io_acct(io, false); > } > > static void dm_start_io_acct(struct dm_io *io, struct bio *clone) > @@ -557,7 +560,7 @@ static void dm_start_io_acct(struct dm_io *io, struct bio *clone) > > static void dm_end_io_acct(struct dm_io *io) > { > - dm_io_acct(true, io->md, io->orig_bio, io->start_time, &io->stats_aux); > + dm_io_acct(io, true); > } > > static struct dm_io *alloc_io(struct mapped_device *md, struct bio *bio) > -- > 2.31.1 > > -- > dm-devel mailing list > dm-devel@xxxxxxxxxx > https://listman.redhat.com/mailman/listinfo/dm-devel > -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel