Spdk/lib/thread
Shuhei Matsumoto 83c197633f thread: Consolidate poller_remove_timer() calls into a single place
This enable us to optimize the cache update when RB tree is supported.

Call poller_remove_timer() after getting the next element because
as TAILQ_FOREACH_SAFE() and RB_FOREACH_SAFE() do, TAILQ_NEXT() may
not be valid after the current element is removed.

Previously, the patch had called poller_remove_timer() before getting
the next element. However, thanks to the nice testing, this bug was
found.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I18afb4412115dc1696cc568610cbe3dc618c2357
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7909
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2021-05-20 15:13:27 +00:00
..
Makefile thread: Change direct accesses to poller outside lib/thread to helper functions 2021-05-13 10:03:44 +00:00
spdk_thread.map thread: Change remaining direct accesses to io_channel outside lib/thread to helper functions 2021-05-13 10:03:44 +00:00
thread.c thread: Consolidate poller_remove_timer() calls into a single place 2021-05-20 15:13:27 +00:00