numam-spdk/lib
Rui Chang 5d926c48ea nvmf/vfio-user: Fix doorbell polling not working on some ARM platform
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>
2021-12-14 09:09:09 +00:00
..
accel lib/accel: remove batching from the framework and plug-in modules 2021-12-08 16:35:40 +00:00
bdev bdev: Fail nvme passthru command if not supported by bdev 2021-12-03 08:13:52 +00:00
blob spelling: lib 2021-12-03 08:12:55 +00:00
blobfs trace: move all trace definitions to a separate file 2021-10-20 07:22:00 +00:00
conf so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
dma dma: Add infrstructure for push operation 2021-10-20 22:55:52 +00:00
env_dpdk env: remove spdk_pci_get_[first|next]_device 2021-12-14 09:08:59 +00:00
env_ocf spelling: lib 2021-12-03 08:12:55 +00:00
event spelling: lib 2021-12-03 08:12:55 +00:00
ftl spelling: lib 2021-12-03 08:12:55 +00:00
idxd spelling: lib 2021-12-03 08:12:55 +00:00
init rpc: add method for listing PCI devices 2021-12-14 09:08:59 +00:00
ioat ioat: fix potential double free problem in ioat_channel_start() 2021-06-16 09:00:37 +00:00
iscsi spelling: lib 2021-12-03 08:12:55 +00:00
json json: add spdk_json_write_bytearray 2021-12-14 09:08:59 +00:00
jsonrpc spelling: lib 2021-12-03 08:12:55 +00:00
log log: add an API to return syslog level based on SPDK's log level 2021-08-12 12:57:39 +00:00
lvol spelling: lib 2021-12-03 08:12:55 +00:00
nbd spelling: lib 2021-12-03 08:12:55 +00:00
notify so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvme nvme: use transport internal queue state when deleting unfinished IO queue pair 2021-12-09 06:06:02 +00:00
nvmf nvmf/vfio-user: Fix doorbell polling not working on some ARM platform 2021-12-14 09:09:09 +00:00
rdma rdma: Set REMOTE_WRITE permission for iWARP on target side 2021-11-30 09:08:21 +00:00
reduce spelling: lib 2021-12-03 08:12:55 +00:00
rocksdb rocksdb: fix thread name typo 2021-09-03 08:08:20 +00:00
rpc so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
scsi spelling: lib 2021-12-03 08:12:55 +00:00
sock lib/sock: create common lookup for spdk_sock_group_impl 2021-11-24 08:34:41 +00:00
thread spelling: lib 2021-12-03 08:12:55 +00:00
trace trace: enable adding relations between traces 2021-10-21 17:57:33 +00:00
trace_parser spelling: lib 2021-12-03 08:12:55 +00:00
ut_mock so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
util spelling: lib 2021-12-03 08:12:55 +00:00
vfio_user spelling: lib 2021-12-03 08:12:55 +00:00
vhost spelling: lib 2021-12-03 08:12:55 +00:00
virtio spelling: lib 2021-12-03 08:12:55 +00:00
vmd spelling: lib 2021-12-03 08:12:55 +00:00
Makefile lib/trace_parser: add trace_parser library stubs 2021-09-29 08:57:58 +00:00