Spdk/lib
Darek Stojaczyk f50d3d7759 reactor: pin spdk threads to their cores
We're about to drop legacy event messages from SPDK libs
and for that we'll replace various lcore numbers with
spdk_thread objects. For now SPDK libs can't spawn their
own threads, so they must use spdk_for_each_thread() and
spdk_get_thread() to retrieve different thread pointers.

The vhost library offers API to construct a vhost device
to be polled on specified cores, and in order to keep that
functionality we'll need to know which core each thread
is polling on. We would like to achieve that with
spdk_thread_get_cpumask(), but right now it always returns
all cores, so this patch changes it to return just
a single cpu on which the thread is actually pinned. It's
only a stop gap, eventually the vhost library will spawn
its own threads with custom cpumasks.

Change-Id: I15947727123c51b23f63727d52079770bfb2e07b
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452204
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-05-02 17:06:34 +00:00
..
bdev bdev/crypto: cleanup the vbdev_crypto_examine 2019-05-02 09:10:38 +00:00
blob blobstore: release same cluster as claimed during initial insert 2019-04-30 14:43:09 +00:00
blobfs blobfs: remove trace short names 2019-05-02 09:57:57 +00:00
conf string: spdk_strtol to delegate additional error checking 2019-01-29 00:10:57 +00:00
copy copy: declare some global variables as static 2019-05-01 18:45:29 +00:00
env_dpdk env/dpdk: detach pci devices from EAL interrupt thread 2019-04-18 22:49:30 +00:00
event reactor: pin spdk threads to their cores 2019-05-02 17:06:34 +00:00
ftl trace: remove short_name 2019-05-02 08:41:56 +00:00
ioat ioat: allocate device struct using regular calloc 2019-04-09 06:30:42 +00:00
iscsi trace: shorten max name from 44 to 24 characters 2019-05-02 08:41:56 +00:00
json json_util: add debug logs to spdk_json_decode_object function 2019-01-10 14:31:37 +00:00
jsonrpc jsonrpc: Use spdk_json_write_named_* APIs throughout 2019-02-04 07:08:04 +00:00
log app, log: clarify how to enable log flags 2019-03-29 02:35:48 +00:00
lvol lvol: Fix for lvol failed deletion flow 2019-04-02 19:23:22 +00:00
nbd nbd: optional nbd_device in start_nbd_disk 2019-04-04 08:35:50 +00:00
net net: Use spdk_json_write_named_* APIs throughout 2019-02-04 07:08:04 +00:00
notify notify: add notification library 2019-03-29 21:15:14 +00:00
nvme nvme: Use AVX 512 instruction to copy SQE 2019-05-01 17:59:00 +00:00
nvmf nvmf: remove unnecessary size checks when creating transport 2019-05-02 14:44:57 +00:00
reduce reduce: account for compressed buffers 2019-04-02 21:40:21 +00:00
rocksdb rocksdb: cleanup SpdkInitializeThread/SpdkFinalizeThread 2019-05-02 09:00:43 +00:00
rpc rpc: add get_spdk_version rpc method 2019-03-26 22:54:28 +00:00
scsi trace: remove short_name 2019-05-02 08:41:56 +00:00
sock sock/vpp: do not continue if buf writed is less than provided 2019-03-12 22:19:42 +00:00
thread thread: fix deadlock in spdk_for_each_thread error handling 2019-05-01 18:46:34 +00:00
trace trace: print error message if event name is too long 2019-05-02 08:41:56 +00:00
ut_mock thread: Eliminate use of pthread_self and thread_ids 2019-01-15 16:53:12 +00:00
util lib/util/cpuset: add negate and xor 2019-04-09 17:40:24 +00:00
vhost vhost/scsi: don't send events when eventq is unset 2019-04-24 16:46:09 +00:00
virtio virtio: zero-out virtqueue structures at init 2019-04-22 16:49:39 +00:00
Makefile bdev/nvme: always enable FTL 2019-05-02 08:41:56 +00:00