diff options
author | Lang Cheng <chenglang@huawei.com> | 2021-02-05 17:39:29 +0800 |
---|---|---|
committer | Jason Gunthorpe <jgg@nvidia.com> | 2021-02-08 20:25:25 -0400 |
commit | 86f767e6fc1e719215ccf2b2ec65466f505f731b (patch) | |
tree | d67567bf0c558669ba71162e84418a680ae263f2 /tools/perf/scripts/python/export-to-sqlite.py | |
parent | 3fe07a008e0b4f88280e0c66241fdfa02f1604a2 (diff) |
RDMA/hns: Replace wmb&__raw_writeq with writeq
Currently, the driver updates doorbell looks like this:
post()
{
wqe.field = 0x111;
wmb();
update_wq_db();
}
update_wq_db()
{
db.field = 0x222;
__raw_writeq(db, db_reg);
}
writeq() is a better choice than __raw_writeq() because it calls dma_wmb()
to barrier in ARM64, and dma_wmb() is better than wmb() for ROCEE device.
This patch removes all wmb() before updating doorbell of SQ/RQ/CQ/SRQ by
replacing __raw_writeq() with writeq() to improve performence. The new
process looks like this:
post()
{
wqe.field = 0x111;
update_wq_db();
}
update_wq_db()
{
db.field = 0x222;
writeq(db, db_reg);
}
Link: https://lore.kernel.org/r/1612517974-31867-8-git-send-email-liweihang@huawei.com
Signed-off-by: Lang Cheng <chenglang@huawei.com>
Signed-off-by: Weihang Li <liweihang@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions