numam-dpdk/doc/guides/prog_guide
Changpeng Liu 830f7e7907 vhost: add non-blocking API for posting interrupt
Vhost-user library locks all VQ's access lock when processing
vring based messages, such as SET_VRING_KICK and SET_VRING_CALL,
and the data processing thread may already be started, e.g: SPDK
vhost-blk and vhost-scsi will start the data processing thread
when one vring is ready, then deadlock may happen when SPDK is
posting interrupts to VM.  Here, we add a new API which allows
caller to try again later for this case.

Bugzilla ID: 1015
Fixes: c573699830 ("vhost: fix missing virtqueue lock protection")
Cc: stable@dpdk.org

Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
2022-10-26 10:58:48 +02:00
..
img ethdev: bring in async queue-based flow rules operations 2022-02-24 14:04:47 +01:00
asan.rst eal/ppc: support ASan 2021-11-16 11:24:22 +01:00
bbdev.rst bbdev: add operation for FFT processing 2022-10-07 08:44:58 +02:00
bpf_lib.rst doc: fix formatting and link in BPF library guide 2022-06-08 10:12:14 +02:00
build_app.rst
build-sdk-meson.rst build: increase minimum meson version to 0.53.2 2022-10-10 16:52:38 +02:00
compressdev.rst doc: fix grammar and formatting in compressdev guide 2022-07-04 19:22:56 +02:00
cryptodev_lib.rst cryptodev: hide symmetric session structure 2022-10-04 22:29:01 +02:00
dmadev.rst dmadev: add telemetry 2022-06-06 23:31:29 +02:00
efd_lib.rst
env_abstraction_layer.rst doc: add more instructions for running as non-root 2022-06-27 02:24:17 +02:00
event_crypto_adapter.rst eventdev: introduce event cryptodev vector type 2022-10-02 20:33:24 +02:00
event_ethernet_rx_adapter.rst eventdev/eth_rx: add adapter instance get API 2022-09-26 15:33:44 +02:00
event_ethernet_tx_adapter.rst eventdev/eth_tx: add queue start/stop API 2022-09-28 05:47:38 +02:00
event_timer_adapter.rst lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
eventdev.rst doc: fix eventdev guide and release notes 2022-10-21 11:42:05 +02:00
fib_lib.rst doc: add RIB and FIB programmer guides 2021-11-26 15:47:23 +01:00
flow_classify_lib.rst doc: remove repeated repeated words 2021-11-24 17:22:17 +01:00
generic_receive_offload_lib.rst
generic_segmentation_offload_lib.rst mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
glossary.rst sched: add PIE based congestion management 2021-11-04 15:41:49 +01:00
gpudev.rst replace Mellanox with NVIDIA 2022-10-03 16:01:56 +02:00
graph_lib.rst doc: remove repeated repeated words 2021-11-24 17:22:17 +01:00
hash_lib.rst
index.rst doc: improve ordering and remove old titles in prog guide 2022-06-08 10:17:26 +02:00
intro.rst
ip_fragment_reassembly_lib.rst
ipsec_lib.rst ipsec: support TSO 2021-11-04 19:46:27 +01:00
kernel_nic_interface.rst kni: flag deprecated status at build time 2022-10-10 17:01:59 +02:00
link_bonding_poll_mode_drv_lib.rst net/bonding: move testpmd commands 2022-06-20 19:48:39 +02:00
lpm6_lib.rst doc: fix numbers power of 2 in LPM6 guide 2021-09-23 12:49:23 +02:00
lpm_lib.rst
lto.rst
mbuf_lib.rst mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
member_lib.rst
mempool_lib.rst mempool: add namespace to driver register macro 2021-10-20 10:00:18 +02:00
meson_ut.rst test: rely on EAL detection for core list 2021-10-21 17:48:04 +02:00
metrics_lib.rst mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
multi_proc_support.rst doc: fix spelling 2021-07-31 20:03:47 +02:00
overview.rst doc: improve ordering and remove old titles in prog guide 2022-06-08 10:17:26 +02:00
packet_classif_access_ctrl.rst
packet_distrib_lib.rst
packet_framework.rst
pcapng_lib.rst doc: remove reference to pcapng init function 2022-06-01 16:39:30 +02:00
pdump_lib.rst app/dumpcap: add new packet capture application 2021-10-22 22:40:58 +02:00
perf_opt_guidelines.rst doc: improve ordering and remove old titles in prog guide 2022-06-08 10:17:26 +02:00
poll_mode_drv.rst ethdev: add proactive error handling mode 2022-10-17 08:27:18 +02:00
power_man.rst power: add Intel uncore frequency control 2022-10-10 14:53:40 +02:00
profile_app.rst doc: add Arm PMU build option in profiling guide 2021-07-31 20:03:47 +02:00
qos_framework.rst fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
rawdev.rst lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
rcu_lib.rst
regexdev.rst doc: fix spelling 2021-07-31 20:03:47 +02:00
reorder_lib.rst
rib_lib.rst doc: add RIB and FIB programmer guides 2021-11-26 15:47:23 +01:00
ring_lib.rst
rte_flow.rst ethdev: forbid direction attribute in transfer flow rules 2022-10-04 03:35:43 +02:00
rte_security.rst security: remove user data get API 2022-10-02 20:33:24 +02:00
service_cores.rst
source_org.rst doc: improve ordering and remove old titles in prog guide 2022-06-08 10:17:26 +02:00
stack_lib.rst
switch_representation.rst ethdev: remove deprecated flow item PF 2022-09-27 10:26:51 +02:00
telemetry_lib.rst doc: remove web references to internal guides 2021-10-13 09:56:53 +02:00
thread_safety_dpdk_functions.rst
timer_lib.rst
toeplitz_hash_lib.rst hash: add bulk Toeplitz hash implementation 2021-11-04 11:19:10 +01:00
trace_lib.rst trace: fix dynamically enabling trace points 2022-10-20 13:34:19 +02:00
traffic_management.rst sched: add PIE based congestion management 2021-11-04 15:41:49 +01:00
traffic_metering_and_policing.rst ethdev: get meter profile/policy objects 2022-09-29 09:07:35 +02:00
vhost_lib.rst vhost: add non-blocking API for posting interrupt 2022-10-26 10:58:48 +02:00
writing_efficient_code.rst fix PMD wording 2021-11-26 11:28:34 +01:00