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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to