Spdk/include/spdk_internal
Tomasz Zawadzki cff96883fc lib/event: remove is_scheduling flag from reactor
There is only one g_scheduling_reactor (main core), the is_scheduling
flag for it is used to block starting new gather_metrics before
previous one is finished.

Meanwhile is_scheduling flag on other reactors was used to block
destroying lw_threads while scheduling happens. It was only needed
because scheduler interacted with the same lw_thread pointers as
each reactor. Previous patch removed this dependency, instead
spdk_thread ids is used. If an spdk_thread is destroyed,
while scheduling _threads_reschedule_thread() handles it.

It is no longer required to block destruction of lw_threads
based on this flag.

Instead of using the main core reactor flag, a g_scheduling_in_progress
is introduced.

Removed _spdk_get_scheduling_reactor() and instead shared the value
of g_scheduling_in_progress between reactor.c and app.c.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ica57326a552477add522174cc3e96b3bab918350
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8732
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-07-19 08:05:19 +00:00
..
accel_engine.h lib/accel: add support for crc32 with copy using source IOVs 2021-07-15 21:04:08 +00:00
assert.h include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
event.h lib/event: remove is_scheduling flag from reactor 2021-07-19 08:05:19 +00:00
idxd.h lib/idxd: implement idxd back end for CRC 2020-05-15 08:12:13 +00:00
init.h init: Declare a formal public API 2021-05-26 09:13:34 +00:00
lvolstore.h lvol: Don't include bdev_module.h in the public header 2021-05-04 21:07:42 +00:00
mock.h test: add generic unlink wrapper 2020-05-06 12:43:57 +00:00
nvme_tcp.h util/crc32c: Add spdk_crc32c_iov_update. 2021-06-02 11:37:17 +00:00
rdma.h rdma: Add statistics per qpair 2021-03-01 10:17:13 +00:00
sgl.h sgl.h: Add a new internal header file. 2021-06-02 11:34:27 +00:00
sock.h posix: Group connections of sock group on host side based on placement_id 2021-04-26 15:33:03 +00:00
thread.h thread: Make the definition of struct spdk_io_channel private 2021-06-25 05:01:45 +00:00
uring.h bdev/uring: Do not use IORING_SETUP_IOPOLL. 2020-08-04 18:27:56 +00:00
usdt.h usdt: don't emit probes in unit tests 2021-07-09 07:02:28 +00:00
utf.h utf.h: remove #include "spdk/json.h" 2018-01-31 14:37:16 -05:00
vhost_user.h vhost_user: add VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD definition 2020-01-13 12:43:16 +00:00
virtio.h virtio_blk: add hotplug support 2021-04-16 19:21:13 +00:00