Skip to content

block: account io: kill atomic operations

Ming Lei lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 7 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4block: partition: introduce hd_free_part()block/genhd.c block/partition-generic.c include/linux/genhd.h+8 -40 replies
2/4block: partition: convert percpu refblock/genhd.c block/partition-generic.c include/linux/genhd.h+27 -151 reply
3/4block: partition: introduce 'cpu' para to part_inc|dec_in_flightblock/bio.c block/blk-core.c block/blk-merge.c +2 more+9 -90 replies
4/4block: account io: convert part->in_fligh[] into percpu variableblock/blk-core.c block/partition-generic.c drivers/md/dm.c +1 more+28 -121 reply

Reviews trailers per patch

1 of 4 patches has a Reviewed-by or Acked-by.

PatchTejun Heo
1/4
2/4A-b
3/4
4/4

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/4] block: account io: kill atomic operations

Hi,

This patches kills two kinds of atomic operations in block accounting I/O.

The 1st two patches convert atomic refcount of partition into percpu refcount.

The 2nd two patches converts partition->in_flight[] into percpu variable.

With this change, ~15% throughput improvement can be observed when running fio(randread) over null blk in a dual-socket environment.

 block/bio.c               |  4 ++--
 block/blk-core.c          |  5 ++--
 block/blk-merge.c         |  2 +-
 block/genhd.c             |  9 ++++---
 block/partition-generic.c | 17 ++++++-------
 drivers/md/dm.c           | 10 ++++----
 drivers/nvdimm/core.c     |  4 ++--
 include/linux/genhd.h     | 61 +++++++++++++++++++++++++++++++++--------------
 8 files changed, 72 insertions(+), 40 deletions(-)

Thanks,
Ming