numam-spdk/lib
Shuhei Matsumoto 4748ebef40 thread: Cache the closest timed poller into thread
When we introduce RB tree, getting the closest timed poller is not
O(1) but O(log N). To mitigate such delay, cache the closest timed
poller into thread, and update the cache when its content is changed.

Add unit test cases for this change. They will also clarify the current
behavior of spdk_poller_unregister() and spdk_poller_pause() for
timed pollers.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ibb98a54c261859a3210034038d3953e5c93ef8aa
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7720
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Community-CI: Mellanox Build Bot
2021-05-14 10:08:02 +00:00
..
accel lib/accel: Add the missed seed assignment for chain crc32c support. 2021-05-10 11:14:37 +00:00
bdev bdev: add bdev_unmap_split() support 2021-05-11 12:03:28 +00:00
blob lib/blob: delay executing blob persist completions 2021-05-11 12:03:57 +00:00
blobfs so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
conf so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
env_dpdk spdk_zmalloc: Remove unnecessary memset() 2021-05-11 11:49:06 +00:00
env_ocf lib/thead: print error log when create mempool or ring failed 2020-11-05 09:41:06 +00:00
event thread: Change remaining direct accesses to io_channel outside lib/thread to helper functions 2021-05-13 10:03:44 +00:00
ftl lib/ftl: Drain retry queue before shutdown 2021-05-14 10:05:34 +00:00
idxd lib/idxd: set error status on any completion error. 2021-05-10 11:13:26 +00:00
ioat so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
iscsi iscsi: use SPDK_TRACE_ARG_TYPE #defines 2021-05-07 11:35:38 +00:00
json so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
jsonrpc jsonrpc: use SOCK_NONBLOCK in socket() calls 2021-05-05 13:31:10 +00:00
log so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
lvol so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nbd nbd: use SOCK_NONBLOCK with socketpair() call 2021-05-05 13:31:10 +00:00
net net: deprecate library 2021-04-26 06:55:03 +00:00
notify so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvme lib/nvme: Add support for Simple Copy Command 2021-05-14 09:59:54 +00:00
nvmf nvmf/rdma: Embed fill_wr_sge into fill_wr_sgl 2021-05-14 10:03:56 +00:00
rdma include: remove util.h include from queue_extras.h 2021-04-14 07:25:21 +00:00
reduce so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
rocksdb build: use DEPDIRS variables to build SPDK_LIB_LIST 2020-12-18 09:40:01 +00:00
rpc so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
scsi scsi: Cache physical block size locally 2021-05-11 11:59:31 +00:00
sock sock: Add new params to configure zcopy for server, client sockets 2021-04-27 08:13:32 +00:00
thread thread: Cache the closest timed poller into thread 2021-05-14 10:08:02 +00:00
trace so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
ut_mock so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
util lib/util/math.c: improve portability 2021-02-10 08:44:01 +00:00
vfio_user libvfio-user: update submodule 2021-05-12 08:46:29 +00:00
vhost vhost-blk: add set interrupt mode to poller 2021-04-23 18:09:54 +00:00
virtio virtio_blk: add hotplug support 2021-04-16 19:21:13 +00:00
vmd so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
Makefile NVMe/vfio-user: add initial version vfio-user transport to NVMe driver 2021-01-21 05:00:18 +00:00