5d926c48ea
On aarch64 platforms, doorbells update from guest VM may not be seen on SPDK target side. This is because there is memory type mismatch situation here. That is on guest VM side, the doorbells are treated as device memory while on SPDK target side, it is treated as normal memory. And this situation cause problem on ARM platform. Refer to "https://developer.arm.com/documentation/102376/0100/ Memory-aliasing-and-mismatched-memory-types". Only using spdk_mb() cannot fix this. Use "dc civac" to invalidate cache may solve this. Profiling data did not show big performance degradataion. Signed-off-by: Rui Chang <rui.chang@arm.com> Change-Id: I9a18718f8c4307b3007b18c32ab02e6796548958 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10222 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> |
||
---|---|---|
.. | ||
ctrlr_bdev.c | ||
ctrlr_discovery.c | ||
ctrlr.c | ||
fc_ls.c | ||
fc.c | ||
Makefile | ||
nvmf_fc.h | ||
nvmf_internal.h | ||
nvmf_rpc.c | ||
nvmf.c | ||
rdma.c | ||
spdk_nvmf.map | ||
subsystem.c | ||
tcp.c | ||
transport.c | ||
transport.h | ||
vfio_user.c |